Привет.
Наверняка кто-то уже сталкивался с проблемой: как сделать фильтрацию до JOIN-а.
Поясню на примере
есть таблица1:
id (PK) text
1 value
2 meanung
3 word
есть таблица 2
id (FK) param (int)
1 10
3 30
что недо сделать: отфильтровать по значению param в таблице 2 (скажем, <25) и сделать outer join на таблицу 2, т.е. хочу получить такой результат:
1 value 10
2 meaning (null)
Казалось бы, что проще:
Select table1.id, table1.text, table2.param
From table1 left outer join table2 on table1.id = table2.id
Where table2.param < 25
но в результате получается
1 value 10
Причина в том, что выражение
Where table2.param < 25 работает после того, как происходи join, и отсеивает строку
2 meaning (null). Как бы это побороть? Сразу хочу предупредить, что вводить какие-то служебные значения в таблицу 2 нежелательно, ввиду того, что по колонке param много условий, и подобрать такое служебное значение, которое завсегда бы попадало во все условия невозможно.
Интересует реализация не для конкретной платформы, а "вообще"