[英]INNER JOIN inside Subquery SQL
我在像這樣在子查詢中插入內部聯接時遇到問題:
SELECT * FROM (
SELECT *,
(DATEDIFF(day, Date, CurrentDate)) AS Age
FROM Order_Member
)sub
WHERE Age > 7
在這種情況下,它將產生如下輸出:
OrderID Date CurrentDate Quantity Total Age
O01 2017-05-22 2017-05-31 3 150 9
O02 2017-05-23 2017-05-31 2 160 8
它可以正常運行,僅顯示年齡> 7,但是我不能使用INNER JOIN將另一個表放入子查詢中。 有幫助嗎?
當然可以,只需在子查詢中添加一個inner join
子句即可:
SELECT * FROM (
SELECT *,
(DATEDIFF(day, Date, CurrentDate)) AS Age
FROM Order_Member om
INNER JOIN Other_Table ot on om.id = ot.id -- Here
)sub
WHERE Age > 7
在檢查完您的問題和查詢后,我認為您甚至都不需要子查詢
SELECT om.*, ot.*, (DATEDIFF(day, Date, CurrentDate)) Age
FROM Order_Member om
INNER JOIN Other_Table ot on om.id = ot.id -- Here
WHERE (DATEDIFF(day, Date, CurrentDate)) >7
除此之外,您還有其他選擇,例如“ 交叉應用 ”。
你可以使用table1,table2代替sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.