Welcome to OGeek Q&A 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 Reply

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...