【问题标题】:Select PLANNAME from PACKLIST containing specific COLLID and not containing another specific COLLID?从包含特定 COLLID 且不包含另一个特定 COLLID 的 PACKLIST 中选择 PLANNAME?
【发布时间】:2021-11-16 20:36:55
【问题描述】:

应该是一个相当简单的任务,我就是想不通。我有一个名为 PACKLIST 的表,其中包含 PLANNAME、COLLID 等列。我想找到所有包含特定 COLLID 'COL001' 并且同时不包含 COLLID 'COL200' 的 PLANNAME。我尝试了很多不同的 sql,一个简单的 WHERE COLLID = 'COL001' AND COLLID != 'COL200' 如果可行的话会很好:) 希望有人能帮助我。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: sql database select db2


【解决方案1】:
with PACKLIST(PLANNAME,COLLID) as
(
 SELECT 'PLAN_1','COL001' UNION ALL
 SELECT 'PLAN_1','COL200' UNION ALL
 SELECT 'PLAN_2','COL200' UNION ALL
 SELECT 'PLAN_3','COL001'
)
SELECT P.PLANNAME,P.COLLID
FROM PACKLIST AS P
WHERE P.COLLID='COL001' AND NOT EXISTS
(
  SELECT 1 FROM PACKLIST AS X
  WHERE X.PLANNAME=P.PLANNAME
  AND X.COLLID='COL200'
)

如果适合你,请尝试以上方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2023-03-27
    • 2015-03-06
    • 2014-08-04
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多