我有一个 SQL 查询:
SELECT * FROM Customer c
LEFT JOIN Invoice I ON I.InvcNum = C.Cust_InvcNum
有些事情发生了变化,连接不起作用,因为“Cust_InvcNum”中的数据没有一致性。所以现在当它没有找到连接的记录或者它为空时,它需要检查另一个条件。
LEFT JOIN Invoice I ON I.InvcNum = (SELECT p.InvcPrefix FROM Prefix WHERE p.DealerID = I.DealrID ) + '-' + I.InvcNum
第二次加入我确实有效,但它需要很长时间才能获取我的数据。有没有其他方法可以做到这一点。
早些时候它曾经是
加入 I.InvcNum = C.Cust_InvcNum
两列具有相同的数据,如 DlrCd-InvcNum 即两列 1234-A789 但它不能与上述数据匹配,或者现在发票表中的列“InvcNum”可以填充为Dlrd-InvcNum 或 InvcPrefix-InvcNum
所以 InvcNum = 1234-A789 但 CustNum = I94-A789 所以我们需要检查是否为 InvoicePrefix-InvcNum