我正試圖從2個表映射的id中獲取記錄,其中第二個表中可能有一行缺失。MYSQL:將缺失的行遺忘到結果中
我在第二個表上有一個名爲name的列,它包含一個字符串值。我需要提取的值是'訂閱',但這並不總是存在於表中。有可能有不同的值,我不想提取這個列。
是否可以檢查值是否存在以及是否不向所有字段輸出空值。
到目前爲止,我有這個返回的所有記錄
select COUNT(*)
from PUser a, PAttribute b
where exists (select null
from PAttribute c
where c.name = 'subscriptions' or c.name is null)
and a.id = b.userid;
希望解釋它。
編輯
PUser表
ID等 列
PAttribute表
用戶ID映射到PUser.id 名
現在用戶ID可以在每個具有多個行一個不同的名稱,例如'訂閱','來源','等'等'
我想要獲取所有在名稱列中具有值「訂閱」的用戶,或者如果該行不存在「訂閱」值,因爲它們可能沒有。
如果他們沒有這行,輸出應該爲空。
編輯2:
曾爲了這一點,我需要
select COUNT(*),(select b.stringValue from PAttribute b where b.userid = a.id and b.name = 'subscriptions') from PUser a order by a.id desc;
我不明白(select null ...)子查詢;它與查詢其餘部分中使用的記錄無關,因此詢問ANY記錄是否具有「訂閱」或名稱爲NULL。 – 2012-01-30 14:41:08