0

次のクエリがあります。

SELECT     dbo.Enquiries.EnquiryID, COUNT_BIG(dbo.Enquiries.EnquiryID) AS AttachedLines
FROM         dbo.Enquiries INNER JOIN
                      dbo.QuoteLines ON dbo.Enquiries.EnquiryID = dbo.QuoteLines.EnquiryID
GROUP BY dbo.Enquiries.EnquiryID

一部の問い合わせには 0QuoteLinesが添付されていますが、私のビューでは 1 として返されますか?

4

1 に答える 1

2

COUNT_BIG(*)列をカウントするように変更します。たとえばCOUNT_BIG(SomeColumn)、列の NULL をスキップします。実際のクエリはLEFT JOIN.

あなたの状況について、あなたは述べます

一部の問い合わせに 0 件の QuoteLine が添付されていますが、私のビューでは 1 件として返されますか?

これにより、INNER JOIN が失敗します。したがって、間違ったクエリを表示したか、ステートメントが正しくありません。いずれの場合も、次のクエリを使用してトラブルシューティングできます。

SELECT dbo.Enquiries.EnquiryID,
       dbo.QuoteLines.*
FROM   dbo.DayBookEnquiries INNER JOIN
       dbo.QuoteLines ON dbo.Enquiries.EnquiryID = dbo.QuoteLines.EnquiryID

QuoteLines から少なくとも 1 つのレコードが表示されます。

于 2012-10-08T12:06:50.050 に答える