[英]mysql SELECT column value dependent on another column
我有一張這樣的桌子:
ID | Type | woof | meow
1 | dog | 1 | 0
2 | cat | 1 | 1
3 | dog | 0 | 0
4 | cat | 0 | 1
我想SELECT DISTINCT id, type WHERE
如果type = dog然后woof = 1,則SELECT DISTINCT id, type WHERE
,如果type = cat,則喵喵1。 因此,我的預期輸出將包括第1,2和4行。
我怎樣才能做到這一點? 我假設使用某種花哨的IF或CASE語句,但我無法輕易從mysql的文檔中弄清楚。
謝謝
您可以使用AND和OR:
SELECT DISTINCT id, type
FROM yourtable
WHERE (type='dog' AND woof=1) OR (type='cat' AND meow=1)
還要注意,如果您的id
字段是唯一的(我猜是這樣),則DISTINCT在這里是不必要的。
只需使用簡單的布爾代數:
SELECT DISTINCT id, type
FROM table
WHERE
(type = 'dog' AND woof = 1) OR
(type = 'cat' AND meow = 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.