對於令人困惑的標題感到抱歉。加入一個表格來比較兩種不同類型的字段
我有兩個表,individu
和orgcont
。 individu
看起來像:
individu
-------------
ind_id
org_id
email
orgcont
看起來像:
orgcont
-------------
ind_id
function_code
我有很多的用戶,可以屬於同一org_id
和他們各自的自己的ind_id
。 org_id的'領導'具有'PRIM'的功能代碼,其他人都無關緊要。我正在嘗試返回所有擁有「PRIM」function code
用戶的電子郵件地址不是「PRIM」的用戶的org_id
和email
的列表。
我有這樣的事情,但結果不正確。任何幫助,將不勝感激:
select
i.email,
i.org_id
from
individu i,
orgcont o,
individu i2,
orgcont o2
where
i.ind_id = o.ind_id
and i.org_id = i2.org_id
and i2.ind_id = o2.ind_id
and o.function_code = 'PRIM'
and o2.function_code != 'PRIM'
and i2.email is NULL
「......結果是不正確的」怎麼樣? – 2012-01-05 21:09:24
你的加入似乎並不正確。請注意,您用於加入的語法已過時。使用明確的JOIN語法會更好,更清晰:http://en.wikipedia.org/wiki/Join_(SQL) – 2012-01-05 21:09:46
@AbeMiessler - OP可能會得到重複的行,因爲列集中沒有'distinct'。艾爾戈,我用'存在'做了它。即使他/她是一個鋼筆迷。 – Eric 2012-01-05 21:13:40