クエリで3つのテーブルを使用しています:2はINNER JOIN
、3番目はLEFT JOIN
です。JOINクエリで予期しないNULLが発生しました
LEFT JOIN
の条件が実行されている間に、私は一部のNULL
レコードを取得しています。購入ライン(PL_ TABLE)から来ている場合があります。
レコードのNULL
の値を実際の値に置き換えるクエリを変更することを推奨できますか?
申し訳ありませんが、サンプルテーブルのデータを添付するオプションが見つかりませんでした。
クエリ
SELECT
pih.[PO Number],
pih.[Pre-Assigned No_] as [Invoice No],
pil.[Document No_],
pil.[Description] as [Reason For Discrepency],
pil.[Line No_],
pl.[No_] as [Item No],
pl.[Vendor Item No_],
pl.[Order Date],
pil.[Posting Date],
pil.[Expected Receipt Date],
pih.[Notes] as [Header Notes],
pil.[No_] as [G/L Account No],
pih.[Buy-from Vendor No_],
pih.[Buy-from Vendor Name],
Pil.Quantity as [Inv Qty From InvoiceLine],
pil.[Amount Including VAT] as [Inv Value From InvoiceLine],
pl.Quantity as [PO Quantity From Purchaseline],
pl.[Quantity Received] as [Received Qty From PurchaseLine],
pl.[Quantity Invoiced] as [Invoiced Qty From PurchaseLine] ,
pl.[Amount Including VAT] as [PO Value From PurchaseLine]
FROM
[Purch_ Inv_ Line] pil
INNER JOIN Purch_ Inv_ Header] pih
ON pil.[Document No_] = pih.[No_]
LEFT JOIN [Purchase Line] pl
ON pih.[PO Number]=pl.[Document No_] and pl.[Line No_]=pil.[Line No_]
WHERE
PIL.[Document No_] IN
(
SELECT distinct pil.[Document No_] FROM
Purch_ Inv_ Line] pil
WHERE piL.[No_] in ('700xxx','700xxx','17xxxxx') and pil.[Posting Date] >=getdate()-7
)
AND piL.[Type]='1'
あなたは 'LEFT JOIN'を行うと、あなたの参加条件と一致するあなたの結合されたテーブルにデータがない場合は、これらの列はNULLになります。サンプルデータや予想される実際の出力がないと、何が間違っていると言うことは不可能です。 –