我有两个选择,我目前成功地作为一个UNION运行。MYSQL UNION DISTINCT
(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);
结果回来是这样的:
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
美中不足的是查询将带来重复USER_ID(在这种情况下,100)。 第一个查询中的详细信息对我来说是先例,如果在第二个查询中重复了user_id,我不需要它。
有没有办法让UNION DISTINCT在列上?在这种情况下,user_id? 有没有办法做到上面的调用,并没有得到重复的user_id的 - 放下第二个。 我应该以不同的方式重写查询,而不是使用UNION。 真的想要它作为一个查询 - 我可以使用SELECT和PHP来清除重复,如果有必要。
THX 亚当
任何机会,你可以给我推与子查询和外一组由正确的方向用户名?没有做过之前,测试但没有很快到达那里... – Adam
@Adam:更新了答案。这就是查询的样子,但没有机会检查它是否正确 – zerkms
如果我想知道'x GROUP BY user_id'中的'x'是什么意思(也是我读过'订单通过...'在某处),你会推荐哪个docs/tutorial/link? –