Undefined behavior в FireBird или несколько JOIN на одну таблицу

Сегодня встретился со странным поведением firebird, когда в одном запросе требуется дважды сделать LEFT JOIN к одной таблице.

Например, так:

SELECT * FROM TableA A

LEFT JOIN tableB B ON A.ID=B.ID

LEFT JOIN tableB B1 ON A.ID=B1.ID AND B.SomeField = A.SomeField

В этом случае, если в таблице tableB нет записи удовлетворяющей обоим JOIN, во всех B.* будет значение NULL

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*
Website