這是可能的MySQL嗎?mysql:得到一個靜態列與給定的值和另一列與ID如果存在的值
比方說,我有一個表: ID,名稱
現在,我想運行一個查詢,看看這些名字存在「約翰,詹姆斯,比爾」。假設只有名字詹姆斯存在於數據庫(ID:23,名稱:詹姆斯)我希望看到這樣的結果:
ID | Name
------------
null | John
23 | James
null | Bill
任何想法?
這是可能的MySQL嗎?mysql:得到一個靜態列與給定的值和另一列與ID如果存在的值
比方說,我有一個表: ID,名稱
現在,我想運行一個查詢,看看這些名字存在「約翰,詹姆斯,比爾」。假設只有名字詹姆斯存在於數據庫(ID:23,名稱:詹姆斯)我希望看到這樣的結果:
ID | Name
------------
null | John
23 | James
null | Bill
任何想法?
您可以使用IN()
比較函數來檢查WHERE Name IN ('John', 'James', 'Bill')
。如果你想返回結果顯示ID
的匹配,你可以使用:
SELECT b.ID, a.Name
FROM sparkles a
LEFT JOIN (SELECT ID, Name FROM sparkles WHERE Name IN ('John', 'James', 'Bill')) b ON b.ID = a.ID
確切!謝謝你的答案! (在查詢-last字符「t」有一個小的錯字) – Sharky
@Sharky:這不是一個錯字,它是物化表的假別名。 – eggyal
就像一個魅力。再加上我學到了新的東西。謝謝eggyal – Sharky