I'm running into a problem that I cannot figure out for some reason. I am trying to write a query that joins two tables, in which a match may not be found in a table. Such as:
SELECT Table1.IDField, Table2.IDField FROM Table1 LEFT OUTER JOIN Table2 ON Table1.PersonID = Table2.PersonID WHERE (Table1.IDField = '12345') AND (Table2.Category = 'Foo') If there is no match in Table2, it's not returning anything. However, I need it to just return a NULL for that column if there is no match and still return the value from Table1.
I have changed up the JOIN with everything that I can think of, but to no avail.
Table2.Category can contain multiple other values, so doing a OR IS NULL type of deal won't work.
So, if there is no match for Table2.Category = 'Foo', I am still needing it to return:
Table1 | Table2 ---------------- 12345 | NULL Any suggestions?
WHERE Table1.IDField = '12345' AND (Table2.Category = 'Foo' OR Table2.Category IS NULL)ought to work exactly the way you describe it