列出状态字段为空的单个发票

时间:2019-02-07 20:52:11

标签: sql

我得到了代码,该代码列出了州和州的发票总数,这些州和州的发票总额基于我们ERP软件中要发送的地址。问题是有人忘记放入州,所以我们的总数与州无关。我们需要找出那些没有状态的发票,以便我们可以更新ERP软件中的状态字段。

示例

100.00  GA
200.00  EMPTY
300.00  IN

我在SQL方面的技能非常有限,正在使用我担任这个职位时给我的知识。

SELECT 
    SUM(Invoice_Header.Orig_Invoice_Amt) AS SumOfOrig_Invoice_Amt,
    Address.State
FROM Address 
INNER JOIN Invoice_Header ON Address.Address = Invoice_Header.Ship_To
WHERE Invoice_Header.Document_Date Between '1/1/2018' And '12/31/2018'
GROUP BY Address.State;

没有状态关联的发票清单,因此我们可以进入ERP软件并添加状态。

1 个答案:

答案 0 :(得分:0)

以下查询将识别表Ship_To中没有State的所有发票客户(Address):

SELECT DISTINCT i.Ship_To, a.Address
FROM Invoice_Header i
LEFT JOIN Address a ON a.Address = i.Ship_To
WHERE a.State IS NULL AND i.Document_Date Between '1/1/2018' And '12/31/2018'

可能有两个原因:

  • Address中没有该客户的记录;发生这种情况时,结果中的第二列为空
  • 要么有一个Address记录,要么为空的State