У меня есть одна таблица master
, в которой есть элементы, хранящиеся на нескольких уровнях, родители и дочерние элементы, и есть вторая таблица, которая может иметь или не иметь дополнительных данных. Мне нужно запросить два уровня из моей основной таблицы и иметь левое соединение на моей второй таблице, но из-за заказа в моем запросе это не сработает.
SELECT something FROM master as parent, master as child
LEFT JOIN second as parentdata ON parent.secondary_id = parentdata.id
LEFT JOIN second as childdata ON child.secondary_id = childdata.id
WHERE parent.id = child.parent_id AND parent.parent_id = 'rootID'
Левое соединение работает только с последней таблицей в предложении from, поэтому я могу только заставить ее работать для одного из левых объединений. В приведенном выше примере ни одно из левых соединений не будет работать, потому что первые левые точки присоединения к первой таблице в предложении from, второй никогда не будет работать так.
Как я могу сделать эту работу?