им хотят сделать несколько объединений на одной и той же таблицы, но с разными псевдонимами:Multiple левая присоединяется на одной таблице, но разные строки
Table1
id
1
2
Table2
id pid
1 1
2 1
3 2
4 2
Что я судимое
SELECT
t1.id AS ´t1.id´,
t2_1.id AS ´t2_1.id´,
t2_1.pid AS ´t2_1.pid´,
t2_2.id, AS ´t2_2.id´,
t2_2.pid AS ´t2_2.pid´
FROM table1 AS t1
LEFT JOIN table2 AS t2_1 ON t2_1.pid = t1.id
LEFT JOIN table2 AS t2_2 ON t2_2.pid = t1.id
Что я ожидал, как результат
t1.id = 1, t2_1.id = 1, t2_1.pid = 1, t2_2.id = 2, t2_2.pid = 1
t1.id = 2, t2_1.id = 3, t2_1.pid = 2, t2_2.id = 4, t2_2.pid = 2
Но я получаю тот же результат на обоих соединениях. Есть ли способ для каждого соединения использовать следующую совпадающую строку, а не первую? Или мне нужно использовать несколько pid и хранить их в t1?
Спасибо :)
изменить третье соединение на 'LEFT JOIN table2 AS t2_2 ON t2_2.pid = t1.i и T2_2.Pid <> T2_1.PID', предполагая только 2 идентификатора для каждого PID, или вы можете просто добавить его к – xQbert
. Как следует table2 знает, должен ли он служить t2_1 и предоставить 3 или ar t2_2 и предоставить 4? – Pieter21