如何在 SQL 服务器中使用子查询编写内连接?
How to write inner join with sub query in SQL Server?
如何在 SQL 服务器中使用子查询进行内连接?
我有一个 Orders
table 列 orderId
,OrderNumber
和另一个 table Order transactions
列 orderId
, orderstatuscode
列和 orderstatuscode
值,例如 'SHI'、'PAY'、'APQ'.
在 Orders transactions
table 我有多个 orderid
和 orderstatuscode
的记录。
我想要所有牵引力中的结果,我们需要它应该有 PAY 交易但没有 APQ 交易的订单
您提供的信息很少,无法帮助您。话虽如此,这可能是一个很好的起点:
SELECT *
FROM Orders ord
INNER JOIN OrderTransactions tra ON ord.OrderId = tra.OrderId
WHERE tra.OrderStatusCode = 'PAY'
AND tra.OrderId NOT IN (SELECT OrderId
FROM OrderTransactions
WHERE OrderStatusCode = 'APQ')
您可以在这里查看:SQL Fiddle
如何在 SQL 服务器中使用子查询进行内连接?
我有一个 Orders
table 列 orderId
,OrderNumber
和另一个 table Order transactions
列 orderId
, orderstatuscode
列和 orderstatuscode
值,例如 'SHI'、'PAY'、'APQ'.
在 Orders transactions
table 我有多个 orderid
和 orderstatuscode
的记录。
我想要所有牵引力中的结果,我们需要它应该有 PAY 交易但没有 APQ 交易的订单
您提供的信息很少,无法帮助您。话虽如此,这可能是一个很好的起点:
SELECT *
FROM Orders ord
INNER JOIN OrderTransactions tra ON ord.OrderId = tra.OrderId
WHERE tra.OrderStatusCode = 'PAY'
AND tra.OrderId NOT IN (SELECT OrderId
FROM OrderTransactions
WHERE OrderStatusCode = 'APQ')
您可以在这里查看:SQL Fiddle