2017-07-26 19 views
0

クエリで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' 
+2

あなたは 'LEFT JOIN'を行うと、あなたの参加条件と一致するあなたの結合されたテーブルにデータがない場合は、これらの列はNULLになります。サンプルデータや予想される実際の出力がないと、何が間違っていると言うことは不可能です。 –

答えて

0

2つのあなたはNULL値になっている理由があるかもしれません。[購入ライン]表の列の

  • 値をNULL

  • 実際にあります
  • マッチはありません行の[購入行]の行には、NULLの行があります。しかし、その後、結果セットが[Purch_ Inv_ライン][Purch_ Inv_ Fromヘッダー行が含まれません - あなたは、その後、LEFT JOININNER JOINには変更の行に一致するのみ取得したい場合はLEFT JOIN

をどのように動作するかです][購入行]行が一致しません。

あなたはNULL値にデフォルト値を与えたい場合は、ISNULLを使用してそれを行うことができます。

ISNULL(pl.[Amount Including VAT], 0) as [PO Value From PurchaseLine] 
関連する問題