SELECT CASE
WHEN (SUM(cashBySum) > SUM(cashByName))
THEN (
SELECT Sale.partyDBId
,Sale.id
,Sale_Products.quantity
,Sale_Products.FinalWeight
,Sale_Products.finalRate
,Sale_Products.SaleDBid
,product.productNameUR
FROM Sale
INNER JOIN Sale_Products ON Sale.id = Sale_Products.SaleDBid
INNER JOIN product ON Sale_Products.productBDid = product.id
WHERE (Sale.partyDBId = '20031')
AND (
CAST(Sale.SaleDate AS DATE) BETWEEN '2015-04-09 12:31:41.000'
AND '2016-04-09 12:31:41.000'
)
)
WHEN (SUM(cashBySum) < SUM(cashByName))
THEN N' بنام'
ELSE ''
END AS balancetype
,SUM(cashBySum) - SUM(cashByName) AS balance
,ABS(SUM(cashBySum) - SUM(cashByName)) AS blc
,partyId
FROM leger AS leger_1
WHERE (partyId = '20031')
AND (DATE < '2016-04-09 12:31:41.000')
GROUP BY partyId
balancetype
只能是一个值(例如 N' بنام'
或''
),但值不多(Sale.partyDBId, Sale.id, Sale_Products.quantity, Sale_Products.FinalWeight, Sale_Products.finalRate,Sale_Products.SaleDBid,product.productNameUR
)。
子查询必须准确返回一个值(一行,一列)。