簡體   English   中英

mysql SELECT列值依賴於另一列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM