現在、UNIONとして正常に実行されている2つの選択肢があります。キャッチは、クエリは重複のuser_id(この場合は100)をもたらすあるMYSQL UNION DISTINCT
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
:
(SELECT a.user_id,a.updatecontents as city,b.country
FROM userprofiletemp AS a
LEFT JOIN userattributes AS b ON a.user_id=b.user_id
WHERE typeofupdate='city')
UNION DISTINCT
(SELECT a.user_id,c.city,c.country
FROM userverify AS a
LEFT JOIN userlogin AS b ON a.user_id=b.user_id
LEFT JOIN userattributes AS c ON a.user_id=c.user_id
WHERE b.active=1 AND a.verifycity=0);
結果は次のように戻ってきます。 最初のクエリの詳細が私に先行し、user_idが2番目のクエリで繰り返される場合、私はそれを必要としません。
UNIONを列にDISTINCTにする方法はありますか?この場合、user_id? 上記の呼び出しを行い、重複したuser_idを取得しない方法はありますか? クエリを別の方法で書き直し、UNIONを使用しないでください。 本当に1つのクエリとしてそれをしたい - 私は必要に応じて複製を除外するSELECTとPHPに使用することができます。
THX アダム
あなたはサブクエリと外側の一つのグループによると、右方向に私にプッシュを与えることができます任意のチャンスでユーザーID?テストしていますが、すぐにそこに着くことはありません。 – Adam
@Adam:答えを更新しました。これはクエリのように見えるかもしれませんが、正しいかどうかチェックする機会はありません – zerkms
「x GROUP BY user_id」の「x」が何を意味しているかを知りたい場合は、 by ... 'どこか)、docs/tutorial/linkでお願いしますか? –