Я хочу оставить присоединение TableA к TableB, где определенное условие в таблицеA истинно
Поэтому я делаю этот тип SQL-запроса
Select * from
TableA Left Join TableB on TableA.fld1 = TableB.fld2
where TableA.fld3 = True
Это работает нормально.
Теперь, однако, я хочу сделать соединение только с определенными записями в таблице B, т.е.
в таблице B, где выполняется определенное условие, в частности fld4 имеет false в качестве значения. Причина, по которой я хочу это сделать, заключается в том, что я хочу знать, какие строки в таблице A не имеют совпадений в таблице B среди строк в таблице B, где fld4 равно false .
Если бы мне пришлось удалить все строки в Таблице B, где fld4 равно true и выполнить приведенный выше запрос
Я бы получил правильный результат. Все, что мне нужно сделать, это найти строки в результирующем наборе записей с нулем в некоторой ячейке.
Но если вместо того, чтобы сначала удалить строки из TableB, я изменю запрос на приведенный ниже, я не получу ни одной строки вообще
Select * from
TableA Left Join TableB on TableA.fld1 = TableB.fld2
where TableA.fld3 = True
and TableB.fld4 = false
Если мои разговоры имеют смысл, может кто-нибудь сказать мне, что я делаю не так?
Спасибо