当前位置:  开发笔记 > 数据库 > 正文

通用SQL问题

如何解决《通用SQL问题》经验,为你挑选了1个好方法。

我有一张桌子A.

ID    Term
10    A
10    B
10    C
20    A
20    B
20    E

什么是编写SQL的最佳方法

得到ID 10,如果我试图找到(A,B,C)

如果我试图找到(A,B),请不要

得到ID 20,如果我试图在(C,D)中找不到

.

Select distinct ID from TableA where Term in (A,B,C) will return both 10 and 20

Select distinct ID from TableA where Term in (A,B) will also return both 10 and 20

Select distinct ID from TableA where Term NOT in (C,D) will also return both 10 and 20

谢谢!



1> codelogic..:

1.

SELECT ID 
FROM TableA
WHERE Term IN ('A','B','C')
GROUP BY ID
HAVING COUNT(ID)=3
LIMIT 1

这里3是集合的长度(在这种情况下为A,B,C).2和3可能是上述的一些变化.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有