"Баязитов Марат" ...
>
> Здравствуйте!
>
> Насколько я знаю следующие 2 запроса должны выдавать одинаковый
> результат:
>
> 1. select T1.id, T2.ID, TJ.IDS
>    from T2, T1
>    left join TJ on (T1.ID = TJ.ID)
>    where (T2.ID = T1.ID)
>
> 2. select T1.id, T2.ID, TJ.IDS
>    from T1, T2
>    left join TJ on (T1.ID = TJ.ID)
>    where (T2.ID = T1.ID)
>
> (они отличаются второй строчкой: from ... )
> однако второй запрос в столбце TJ.IDS выдает неправильный результат.
> Это бага или так должно быть?

    Это разные запросы, причём второй ещё и кривой.
у тебя в первом запросе T2 JOIN (T1 LEFT JOIN TJ), а во втором
T1 JOIN (T2 LEFT JOIN TJ). Во втором условине объединения не относится
к объединяемым таблицам, поэтому он кривой. В этом, да, бага - мы не
ловим такие кривые условия объединения


-- 
Хорсун Влад

PS MSSQL2K на второй запрос говорит

Server: Msg 107, Level 16, State 3, Line 1
The column prefix 'T1' does not match with a table name or alias name used in
the query.


Ответить