Gary Stainburn <[EMAIL PROTECTED]> writes: > So, who does this select not return the row?
> select v_d_code, v_o_number, v_vin, v_status from vista_details where v_vin > not in ( > goole(# select substring(w_vin from '(.{11}$)') from walon); NOT IN with a sub-select that returns any NULL values cannot succeed; the result is either FALSE (definite match) or NULL (because of the NULL comparison results). You could work around that with a COALESCE, but I think a less klugy and better-performing answer would be to write it as a left join: select v_d_code, v_o_number, v_vin, v_status from vista_details left join walon on (v_vin = substring(w_vin from '(.{11}$)')) where walon.some-never-null-column IS NULL; The where-clause rejects any actual join matches... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster