Разработка

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.* будет значение […]