0
我一直在检查堆栈溢出几个职位对这个错误,我也拿到了,而我试图添加一个SQL查询检索列tblAR.ARID
如下:如何解决错误:将值赋给变量的SELECT语句不能与数据检索结合使用?
SELECT tblAR.ARID,
@GP = (Sum(ard.Amount))
-(Sum((CASE WHEN MaterialNumber='REBATE' THEN [qty]
WHEN ard.Amount<0 THEN -1*ABS([qty])
ELSE ABS([qty])
END)))
FROM
tblMMMaterials mm
INNER JOIN tblARDetail ard ON mm.MatID = ard.MatID
INNER JOIN tblAR arh ON ard.ARID = arh.ARID
WHERE [email protected]
我才知道我不能在单个查询中都做。所以,我分了查询分为两个如下:
SELECT
@GP = (Sum(ard.Amount))
-(Sum((CASE WHEN MaterialNumber='REBATE' THEN [qty]
WHEN ard.Amount<0 THEN -1*ABS([qty])
ELSE ABS([qty])
END)))
FROM
tblMMMaterials mm
INNER JOIN tblARDetail ard ON mm.MatID = ard.MatID
INNER JOIN tblAR arh ON ard.ARID = arh.ARID
WHERE [email protected]
select tblAR.ARID from tblAR
WHERE [email protected]
虽然没有给我任何的错误,我没有信心,如果这后面的SQL代码是100%的理想选择。换句话说,我想知道是否足以在第二个查询中包含'WHERE'条件,即WHERE [email protected]
。请帮忙
这不一定是相同的,因为'INNER JOIN's可以过滤或者取决于对这些表中的数据中的某些行相乘。如果你解释你真正想做的事情会更好 – Lamak
@Lamak:非常感谢回复。实际上,我需要属于'rundate'的ARID并满足它为'GP'所做的一切。我不确定我是否也需要包含这些内部连接。所以,我最终只包括条件。这给了我一堆ARID – toofaced