我在MySQL表中有一个项目列表,每个项目都有一个组号和&唯一的商品编号。
我正在尝试选择马赫2标准的记录。
首先,我需要选择满足群组和记录的记录。项目编号。如果没有找到,我希望选择的记录只属于一个组。
无论如何都必须选择一条记录。
答案 0 :(得分:1)
SELECT *
FROM YourTable
WHERE GroupID = :group
ORDER BY ItemID = :item DESC
LIMIT 1
LIMIT 1
只返回一条记录。 ORDER BY
子句使它更喜欢与项目标准匹配的记录(如果有的话)。
答案 1 :(得分:0)
试试这个
这不起作用
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