我有这样的表结构。
ProductCR productID ProductName
09 1553 A1
09 1600 A2
09 1800 A3
10 1553 A4
10 1600 A5
10 2000 A6
我想做这样的事情:
Select ProductoName from Products where (ProductCR,ProductID) in ((09,1553),(10,1600),(10,2000))
Result:
A1
A5
A6
这在Sql Server中是否可行?这样的“选择”与“有序对”? 谢谢, 胜者。
答案 0 :(得分:1)
这是不可能的。我这是一个很好的选择:
DECLARE @orderedPairs TABLE (cr int, id int)
INSERT INTO @orderedPairs (cr, id)
VALUES (09,1553),(10,1600),(10,2000)
SELECT ProductName
FROM Products
join @orderedPairs on ProductCR = cr
and ProductID = id
答案 1 :(得分:1)
Oracle allows that,但SQL Server没有。你必须把它写出来:
select ProductoName
from Products
where ProductCR = 09 and ProductID = 1553 or
ProductCR = 10 and ProductID = 1600 or
ProductCR = 10 and ProductID = 2000