Update query with inner join in sub query
UPDATE dbo.Sale SET NetAmt=(SELECT NetAmt FROM dbo.Ssummary WHERE Ssummary.Invoice=Sale.Invoice)
WHERE Invoice IN (
SELECT ss.Invoice FROM (
SELECT DISTINCT Sale.ShopID,ShopName
,Invoice,CASE WHEN (LEFT(Invoice,2)='CR') THEN -NetAmt ELSE NetAmt END NetAmt ,
CONVERT(DATE,SaleDT,101) SaleDT,
(SELECT NetAmt FROM dbo.Ssummary WHERE Ssummary.Invoice=Sale.Invoice) AS ssNet
FROM dbo.Sale
INNER JOIN dbo.ShopList ON ShopList.ShopID = Sale.ShopID
INNER JOIN dbo.StyleSize ON StyleSize.Barcode = Sale.BarCode
WHERE CONVERT(DATE, SaleDT,101) BETWEEN '01/01/2017' AND '01/31/2017' AND
Sale.ShopID='OS01' --order by Invoice
) AS ss
WHERE ss.NetAmt<>ss.ssNet
)
WHERE Invoice IN (
SELECT ss.Invoice FROM (
SELECT DISTINCT Sale.ShopID,ShopName
,Invoice,CASE WHEN (LEFT(Invoice,2)='CR') THEN -NetAmt ELSE NetAmt END NetAmt ,
CONVERT(DATE,SaleDT,101) SaleDT,
(SELECT NetAmt FROM dbo.Ssummary WHERE Ssummary.Invoice=Sale.Invoice) AS ssNet
FROM dbo.Sale
INNER JOIN dbo.ShopList ON ShopList.ShopID = Sale.ShopID
INNER JOIN dbo.StyleSize ON StyleSize.Barcode = Sale.BarCode
WHERE CONVERT(DATE, SaleDT,101) BETWEEN '01/01/2017' AND '01/31/2017' AND
Sale.ShopID='OS01' --order by Invoice
) AS ss
WHERE ss.NetAmt<>ss.ssNet
)
Comments
Post a Comment