4
我想在MySQL
中做一个相当复杂的查询;对我而言至少是复杂的。两个左连接和一个在MySQL中的联盟
这里是什么,我试图做一个例子:
SELECT * FROM friends
LEFT JOIN users ON users.uid = friends.fid1
LEFT JOIN users ON users.uid = friends.fid2
WHERE (friends.fid1 = 1) AND (friends.fid2 > 1)
UNION SELECT fid2 FROM friends
WHERE (friends.fid2 = 1) AND (friends.fid1 < 1)
ORDER BY RAND()
LIMIT 6;
我找回:ERROR 1066 (42000): Not unique table/alias: 'users'
。
我在哪里出错了,我该如何真的正在执行此查询?
解决了一个问题。现在我回来了'错误1222(21000):使用的SELECT语句具有不同数量的列'。有什么想法吗? – 2010-09-07 03:55:12
+1:始终使别名(表和列)唯一 – 2010-09-07 03:55:40
@Josh Smith:尊重,这是一个不同的错误,所以问一个新的问题。 – 2010-09-07 03:56:29