我試圖加入3個表格 - CurrentProducts,SalesInvoice和SalesInvoiceDetail。 SalesInvoiceDetail包含其他兩個表和其他一些列的FK /外鍵。第一個查詢是可以的,但第二個查詢不是。我的問題出現在代碼的最後。需要正確理解多個連接
右
select *
from CurrentProducts inner join
(dbo.SalesInvoiceDetail inner join dbo.SalesInvoice
on dbo.SalesInvoiceDetail.InvoiceID = dbo.SalesInvoice.InvoiceID
)
on dbo.SalesInvoiceDetail.ProductID = dbo.CurrentProducts.ProductID
錯誤
select *
from CurrentProducts inner join
(select * from
dbo.SalesInvoiceDetail inner join dbo.SalesInvoice
on dbo.SalesInvoiceDetail.InvoiceID = dbo.SalesInvoice.InvoiceID
)
on dbo.SalesInvoiceDetail.ProductID = dbo.CurrentProducts.ProductID
錯誤 - '上' 關鍵字附近有語法錯誤。
爲什麼第二個查詢是錯誤的?在概念上與第一個不一樣嗎?那是在連接結果集裏。我們選擇*結果集,然後將此結果集加入CurrentProducts?
嘗試添加別名子查詢和使用它,就像這樣:SELECT * 從CurrentProducts內加入 (SELECT * FROM dbo.SalesInvoiceDetail內上dbo.SalesInvoiceDetail.InvoiceID = dbo.SalesInvoice.InvoiceID 加入dbo.SalesInvoice )SID 上sid.ProductID = dbo.CurrentProducts.ProductID – Eugene 2013-05-13 10:28:16