Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.3k views
in Technique[技术] by (71.8m points)

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

How to make inner join with sub queries in SQL Server?

I have an Orders table with columns orderId, OrderNumber and another table Order transactions with orderId, orderstatuscode columns and orderstatuscode values like 'SHI', 'PAY', 'APQ'.

In Orders transactions table I have multiple record with orderid and orderstatuscode.

I want result among all traction we need orders where it should have PAY transaction but not APQ transaction


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You have provided very little information to help you with. Having said that, this could be a good starting point :

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')

You can check this here : SQL Fiddle


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...