SQL / Sybase:SELECT … GROUP BY … NOT HAVING?
发布时间:2020-12-12 08:50:08 所属栏目:MsSql教程 来源:网络整理
导读:col1 col2A bearA dogA catB bearB dogB catC dogC catD bearD dogD catE bearE dogE catF dogF cat 如果我想选择所有col1值至少有一行col2 =’bear’,我可以做: SELECT col1 FROM mytable WHERE col1 IN ('A','B','C') GROUP BY col1 HAVING col2 = 'bear'
col1 col2 A bear A dog A cat B bear B dog B cat C dog C cat D bear D dog D cat E bear E dog E cat F dog F cat 如果我想选择所有col1值至少有一行col2 =’bear’,我可以做: SELECT col1 FROM mytable WHERE col1 IN ('A','B','C') GROUP BY col1 HAVING col2 = 'bear' 这将返回A和B 但是我想仅选择col1中没有一行的值,其中col2 =’bear’ 我认为没有,但这似乎不起作用. 有任何想法吗?谢谢! 解决方法SELECT m1.col1 FROM mytable m1 WHERE NOT EXISTS(SELECT NULL FROM mytable m2 WHERE m2.col1 = m1.col1 AND m2.col2 = 'bear') AND m1.col1 IN ('A','C') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |