“选择”具有“有序对”

发布于 2024-12-08 23:53:20 字数 482 浏览 0 评论 0原文

我有一个这样的表结构。

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

Is this posible in Sql Server??这样的“选择”与“有序对”? 谢谢, 胜利者。

I have a table structure like this.

ProductCR   productID   ProductName 
09          1553        A1 
09          1600        A2 
09          1800        A3
10          1553        A4 
10          1600        A5 
10          2000        A6

I want to make something like this:

Select ProductoName from Products where (ProductCR,ProductID) in ((09,1553),(10,1600),(10,2000))

Result:
    A1
    A5
    A6

Is this posible in Sql Server?? such a "select in" with "ordered pairs"??
Thanks,
Victor.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枕花眠 2024-12-15 23:53:21

这是不可能的。我这是一个不错的选择:

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

It is not possible. I this this is a good option:

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
白况 2024-12-15 23:53:21

Oracle 允许这样做,但 SQL Server 不允许。你必须把它写出来:

select  ProductoName 
from    Products 
where   ProductCR = 09 and ProductID = 1553 or
        ProductCR = 10 and ProductID = 1600 or
        ProductCR = 10 and ProductID = 2000

Oracle allows that, but SQL Server does not. You'll have to write it out:

select  ProductoName 
from    Products 
where   ProductCR = 09 and ProductID = 1553 or
        ProductCR = 10 and ProductID = 1600 or
        ProductCR = 10 and ProductID = 2000
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文