我试图加入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