無効になった請求書と、それらが再提出されたかどうかをチェックするクエリがあります。クイックセールが無効になった場合、「クイックセール」がそこで再入札されることは許可されません。私がやりたいのは、「quicksale」が無効になった場合です... 再提出されたフィールド表示「QuickSale」では、許可されていないため、請求書が再提出されたかどうかも確認しないでください。私のクエリは以下のとおりです。t1.Register_Transaction_Type 列は、「Quick」がタイプかどうかを確認するために検索するものです。その他の取引は問題ありません。
SELECT
t1.Store_Number,
t1.Invoice_Number,
t1.Invoice_Date,
t1.Vehicle_Tag,
t1.Void_Reason,
vt1.Invoice_Total,
t2.Invoice_Number AS [New Invoice #],
t2.Vehicle_Tag AS [Vehicle Tag],
t2.Invoice_Total AS [New Invoice Total],
CASE
WHEN t2.Vehicle_Tag IS NULL THEN 'NO'
WHEN t1.register_transaction_type = 'QUICK' THEN 'Quicksale'
ELSE 'YES'
END AS [Re-tendered?],
User_Tb.User_Name,
t1.Register_Transaction_Type
FROM
Invoice_Tb AS t1
INNER JOIN Employee_Tb
ON t1.Void_Employee_Tax_Payer_Id = Employee_Tb.Tax_Payer_Id
INNER JOIN User_Tb
ON Employee_Tb.User_Id = User_Tb.User_Id
LEFT OUTER JOIN Invoice_Tb AS t2
ON t1.Vehicle_Tag = t2.Vehicle_Tag AND
t2.Void_Flag = 'n' AND
t2.Invoice_Date >= DATEADD(day, DATEDIFF(day, 0, GETDATE()) - 1, 0) AND
t2.Invoice_Date < DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
WHERE
(t1.Void_Flag = 'y') AND
(t1.Invoice_Date >= DATEADD(day, DATEDIFF(day, 0, GETDATE()) - 1, 0))
AND (t1.Invoice_Date < DATEADD(day, DATEDIFF(day, 0, GETDATE()),0))
AND (t1.Store_Number = '2')
ORDER BY t1.Store_Number, t1.Invoice_Date
以下は私が得ているものの例です: ご覧のとおり、リンクされていない請求書を単にダンプしているだけです...
-- ------- --------------------- ------ ------- ------- ------- --------- ----
2 3****** 12/5/2012 12:00:00 AM REFUND 54.9900 3****** 52.9000 Quicksale user
2 3****** 12/5/2012 12:00:00 AM REFUND 54.9900 3****** 59.9800 Quicksale user
2 3****** 12/5/2012 12:00:00 AM REFUND 54.9900 3****** 24.9900 Quicksale user