Я пытаюсь сделать довольно сложный запрос в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'
.
Где я иду не так, и как я должен действительно выполнить этот запрос?
Это решило одну проблему. Теперь я возвращаюсь «ERROR 1222 (21000): используемые операторы SELECT имеют разное количество столбцов». Есть предположения? –
+1: Всегда делайте псевдонимы (стол и столбец) уникальными –
@ Джош Смит: С уважением, это другая ошибка, поэтому задайте новый вопрос. –