SQL:WHERE子句多个条件

时间:2015-06-30 16:00:20

标签: sql sql-server

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

2 个答案:

答案 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')