[英]MYSQL Select with IF in where clause
我在MySQL表中有一個項目列表,每個項目都有一個組號和唯一的項目號。
我正在嘗試選擇符合2條標准的記錄。
首先,我需要選擇滿足組和項目編號的記錄。 如果沒有找到,我希望選擇僅屬於一個組的記錄。
只需選擇一種記錄即可。
SELECT *
FROM YourTable
WHERE GroupID = :group
ORDER BY ItemID = :item DESC
LIMIT 1
LIMIT 1
使其僅返回一條記錄。 如果存在ORDER BY
子句,則它更喜歡與項目條件匹配的記錄。
嘗試這個
這行不通
Select * From MyTable
Where (GroupID = 1 and ItemID = 2) or (GroupID = 1)
這有效
IF EXISTS (SELECT 1 FROM MyTable WHERE GroupID = 1 AND ItemID = 2)
BEGIN
SELECT TOP 1 * FROM MyTable WHERE GroupID = 1 AND ItemID = 2
END
ELSE
BEGIN
SELECT TOP 1 * FROM MyTable WHERE GroupID = 1
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.