Подтвердить что ты не робот

ИСПОЛЬЗОВАТЬ МНОЖЕСТВЕННУЮ ВЛЕВО

Можно ли использовать множественное левое соединение в sql-запросе? если нет, то каково решение?

    LEFT JOIN
        ab 
    ON
        ab.sht = cd.sht

Я хочу добавить для этого еще один такой запрос? будет ли он работать?

    LEFT JOIN
        ab AND aa
    ON
        ab.sht = cd.sht
           AND
                    aa.sht = cc.sht

Уил эту работу?

4b9b3361

Ответ 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