SQL 语句中的逻辑与
Logical AND in SQL statement
我有一个包含两列的table,第一列包含名称,第二列包含标签,因此名称可以有多个标签,标签包含多个名称。
我想做的是写一个SQL查询returns所有包含ALL标签的名字,这意味着我必须在 SQL 本身执行 AND 操作,我的方法采用包含标签的列表,它 returns 所有属于 ALL 标签的名称,例如,如果我通过了3个标签; A,B,C 还有一个名字有tags:A,B,不包含C.
我认为这会起作用:
SELECT Name FROM Table WHERE Tag IN ('list', 'of', 'tags')
GROUP BY Name HAVING count(Name) = <counter of number of tags to Search>;
我有一个包含两列的table,第一列包含名称,第二列包含标签,因此名称可以有多个标签,标签包含多个名称。
我想做的是写一个SQL查询returns所有包含ALL标签的名字,这意味着我必须在 SQL 本身执行 AND 操作,我的方法采用包含标签的列表,它 returns 所有属于 ALL 标签的名称,例如,如果我通过了3个标签; A,B,C 还有一个名字有tags:A,B,不包含C.
我认为这会起作用:
SELECT Name FROM Table WHERE Tag IN ('list', 'of', 'tags')
GROUP BY Name HAVING count(Name) = <counter of number of tags to Search>;