ИСПОЛЬЗОВАТЬ МНОЖЕСТВЕННУЮ ВЛЕВО
Можно ли использовать множественное левое соединение в sql-запросе?
если нет, то каково решение?
LEFT JOIN
ab
ON
ab.sht = cd.sht
Я хочу добавить для этого еще один такой запрос?
будет ли он работать?
LEFT JOIN
ab AND aa
ON
ab.sht = cd.sht
AND
aa.sht = cc.sht
Уил эту работу?
Ответы
Ответ 1
Да, это возможно. Для каждой таблицы соединений вам требуется один ВКЛ.
LEFT JOIN ab
ON ab.sht = cd.sht
LEFT JOIN aa
ON aa.sht = cd.sht
Кстати, мое личное предпочтение форматирования для сложного SQL описано в http://bentilly.blogspot.com/2011/02/sql-formatting-style.html. Если вы собираетесь писать много этого, это, вероятно, поможет.
Ответ 2
Да, но синтаксис отличается от того, что у вас есть
SELECT
<fields>
FROM
<table1>
LEFT JOIN <table2>
ON <criteria for join>
AND <other criteria for join>
LEFT JOIN <table3>
ON <criteria for join>
AND <other criteria for join>
Ответ 3
Требуемый SQL будет примерно таким: -
SELECT * FROM cd
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cd.sht
....
Надеюсь, что это поможет.
Ответ 4
У вас есть два варианта, в зависимости от вашего порядка таблиц
create table aa (sht int)
create table cc (sht int)
create table cd (sht int)
create table ab (sht int)
-- type 1
select * from cd
inner join cc on cd.sht = cc.sht
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cc.sht
-- type 2
select * from cc
inner join cc on cd.sht = cc.sht
LEFT JOIN ab
LEFT JOIN aa
ON aa.sht = ab.sht
ON ab.sht = cd.sht