CurrentProducts、SalesInvoice、SalesInvoiceDetail の 3 つのテーブルに参加しようとしていました。SalesInvoiceDetail には、他の 2 つのテーブルと他のいくつかの列への FK/外部キーが含まれています。最初のクエリは問題ありませんが、2 番目のクエリはそうではありません。私の質問はコードの最後にあります。
右
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
エラー - キーワード「on」付近の構文が正しくありません。
2 番目のクエリが間違っているのはなぜですか? コンセプト的には最初のものと同じではありませんか?つまり、結合によって結果セットが作成されます。* 結果セットを選択し、この結果セットを CurrentProducts ? に結合します。