DB2/400 SQL 子查询

问题描述 投票:0回答:1

我想确保仓库C和D都在同一个城市。

有更简单的方法吗?

表:

City Warehouse
1      A        
1      B
2      C
2      D 
3      E
3      F 

SQL:

WITH subquery AS(
  SELECT DISTINCT WHM.City FROM WHM WHERE  
  WHM.Warehouse = 'C' or WHM.Warehouse ='D'
  GROUP BY WHM.City 
  ORDER BY WHM.City ) 
SELECT count(*) FROM subquery 

如果响应 = 1,则为 True

sql ibm-midrange db2-400
1个回答
0
投票

这是对您已有的内容的一个小改进,但您可以选择不同计数并避免不必要的子查询:

SELECT COUNT(DISTINCT City)     -- returns 1 for a single shared city
FROM WHM
WHERE Warehouse IN ('C', 'D');

请注意,不需要

GROUP BY
,因为我们需要整个表中的不同计数。

© www.soinside.com 2019 - 2024. All rights reserved.