【发布时间】:2012-01-06 23:41:15
【问题描述】:
我有以下参考数据。
STORE_CODE SUPPLIER_CODE
------ ------
ASDA A3
ASDA A2
TESCO A2
TESCO A4
ASDA A4
ASDA A4
ASDA A4
ASDA A4
WAITROSE A3
ASDA A4
WAITROSE A3
ASDA A3
ASDA A3
ASDA A4
SAINSBURY A2
SAINSBURY A2
SAINSBURY A6
TESCO A6
ASDA A3
TESCO A3
TESCO A3
SAINSBURY A3
WAITROSE A5
WAITROSE A5
WAITROSE A5
WAITROSE A4
ALDI A1
ALDI A1
ALDI A1
ALDI A1
ALDI A1
ALDI A1
ALDI A1
ALDI A1
我想要做的是显示一个供应商列表,这些供应商至少有 4 家与之关联的独特商店。
到目前为止,这就是我所结合的:
SELECT
distinct stoc.supplier_code as SUPPLIER_CODE
FROM
MYTABLE stoc
WHERE
(select count(distinct a.store_code) from mytable a where a.supplier_code = stoc.supplier_code) >= 4
;
有没有办法优化我的选择语句? where 子句看起来很乱,我想知道是否可以通过使用 GROUP BY 或 HAVING 来改进它?
非常感谢
【问题讨论】:
标签: sql oracle select oracle10g