SQL WHERE AFTER JOIN Problem

3 отговора 328 прегледа
#1

SQL WHERE AFTER JOIN Problem

имам следната заявка

SELECT * FROM
table1
LEFT JOIN table2 ON column1
WHERE table2.column2 = 'n' OR table2.column2 = NULL

целта ми е да филтрирам всички записи, в които след JOIN-ване на table2 стойността на table2.column2 не е n /някакво число/ или NULL /тоест за съответния ред няма осъществена релация/...

проблемът е, че WHERE операцията се извършва винаги преди JOIN, вследствие на което нулевите редове не се показват...

има ли някакво решение?

Отговор
в отговор на id #2

Re: SQL WHERE AFTER JOIN Problem

чесно казано не се замислих над какво искаш да направиш, НО

table2.column2 = NULL трябва да е table2.column2 IS NULL

Отговор
в отговор на phpGuru #3

Стана и така

SELECT *
FROM table1
LEFT JOIN table 2 ON ( table1.col1 = table2.col1 AND table2.col2 = 'n' )

Отговор
в отговор на id #4

Re: SQL WHERE AFTER JOIN Problem

SELECT * FROM
table1
LEFT OUTER JOIN .........................

Отговор