如何在 SQL 服务器中使用子查询编写内连接?

How to write inner join with sub query in SQL Server?

如何在 SQL 服务器中使用子查询进行内连接?

我有一个 Orders table 列 orderIdOrderNumber 和另一个 table Order transactionsorderIdorderstatuscode 列和 orderstatuscode 值,例如 'SHI'、'PAY'、'APQ'.

Orders transactions table 我有多个 orderidorderstatuscode 的记录。

我想要所有牵引力中的结果,我们需要它应该有 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