SELECT
((1.0 * (SELECT SUM(r.SalesVolume)
FROM RawData r
INNER JOIN Product p ON r.ProductId = p.ProductId
WHERE p.Distributor = 'TF1', 'WARNER')
GROUP BY p.Distributor)
/
(SELECT SUM(r.SalesVolume) FROM RawData r)*100)
;
上述查询出错:
Lookup Error - SQL Server Database Error: Incorrect syntax near ','.
有谁可以指出问题是什么?我知道在这种情况下我不能使用OR / AND条件。 结果集必须有2行。
产品:
Distributor
WARNER
TF1
WARNER
TF1
RAWDATA:
SalesVolume
5
6
3
4
答案 0 :(得分:2)
可能是IN
而不是=
SELECT
((1.0*(SELECT SUM(r.SalesVolume) FROM RawData r
INNER JOIN Product p
ON r.ProductId = p.ProductId
WHERE p.Distributor in ('TF1','WARNER'))
/
(SELECT SUM(r.SalesVolume) FROM RawData r)*100)
;
答案 1 :(得分:1)
你应该使用
WHERE p.Distributor IN ('TF1','WARNER')