如何选择相关表中具有多个值的记录?

克里斯

我有以下三个用于标记内容的表,其中每个内容可以具有一对多标记。例如,内容记录可以具有“加利福尼亚”和“变量”的标签。

带内容表

Content
-ContentID
-ContentName

带标签的表

Tag
-TagID
-TagName

链接内容和标签的表

ContentTag
-ContentID
-TagID

使用以下SELECT语句,我想获取TagID分别为21和54的记录,但是不返回任何行。

SELECT * FROM ContentTag
INNER JOIN Content On ContentTag.ContentID=Content.ContentID
INNER JOIN Tag ON ContentTag.TagID=Tag.TagID
Where (Tag.TagID=21 And Tag.TagID=54)

如何创建SQL SELECT语句以检索具有一对多标签的内容?

戈登·利诺夫(Gordon Linoff)

我喜欢使用聚合和having子句来解决这个问题

SELECT c.ContentId, c.ContentName
FROM ContentTag ct INNER JOIN
     Content c
     On ct.ContentID = c.ContentID 
WHERE ct.TagID IN (21, 54)
GROUP BY c.ContentId, c.ContentName
HAVING COUNT(Distinct ct.TagId) = 2;

一些注意事项:

  • 您不需要join标签表。您正在使用ID,并且位于中ContentTag
  • 您不需要*我假设您正在查找具有两个标签的内容。
  • WHERE子句将标签限制为有问题的两个标签。
  • HAVING子句确保两者都存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何选择相关表中具有多个值的记录?

来自分类Dev

SQL查询:如何选择相关表中所有记录都具有特定属性值的记录

来自分类Dev

MySQL从具有多个记录的多个表中从最高联接值中选择一个记录

来自分类Dev

MySQL-如何选择与所有IN值匹配但在1个或多个表中的记录

来自分类Dev

MySQL-如何选择与所有IN值匹配但在1个或多个表中的记录

来自分类Dev

XPATH-如何选择在表的同一行的列中具有多个值的tr?

来自分类Dev

XPATH-如何选择在表的同一行的列中具有多个值的tr?

来自分类Dev

使用Linq使用方法语法在相关表中查找表中具有特定值的所有记录

来自分类Dev

如果相关表中有多个值,如何选择一行

来自分类Dev

如何筛选具有多个条件的表行。即,在复选框选择上显示相关行。每个复选框代表列和行值

来自分类Dev

如何选择表中具有重复值的行?

来自分类Dev

MySQL选择表中具有超过“列值”记录的成员

来自分类Dev

如何在T-sql中选择另一个表上具有最后相关记录的表的记录

来自分类Dev

Yii从表中选择在相关表中没有记录的第一条记录

来自分类Dev

根据具有多个记录的表中另一列的不同值添加值

来自分类Dev

MySql仅从父表具有多个值的子表中获取记录

来自分类Dev

如何在单行(<td>)中的html表中显示具有相同id的多个记录?

来自分类Dev

如何从具有多个where条件的两个表中获取记录

来自分类Dev

如何返回具有多个状态的表中的最后一条记录

来自分类Dev

如何在where子句为pgsql的具有相同列的多个表中对记录进行计数

来自分类Dev

防止用户删除一个表中具有相关记录的记录

来自分类Dev

从表A中仅选择没有多个记录的ID

来自分类Dev

从具有外键约束的多个表中删除记录

来自分类Dev

如何创建具有多个值的obj并随机选择值,而无需在jQuery / JS中重复

来自分类Dev

如何在MongoDB中查找具有相同键值并分配给多个值的记录

来自分类Dev

如何在SQL Server中查询具有多个键/值对约束的记录?

来自分类Dev

选择希望列中的值具有多个值的行

来自分类Dev

在SQL中查找具有多个列值的记录

来自分类Dev

选择匹配两个或多个相关表的记录

Related 相关文章

  1. 1

    如何选择相关表中具有多个值的记录?

  2. 2

    SQL查询:如何选择相关表中所有记录都具有特定属性值的记录

  3. 3

    MySQL从具有多个记录的多个表中从最高联接值中选择一个记录

  4. 4

    MySQL-如何选择与所有IN值匹配但在1个或多个表中的记录

  5. 5

    MySQL-如何选择与所有IN值匹配但在1个或多个表中的记录

  6. 6

    XPATH-如何选择在表的同一行的列中具有多个值的tr?

  7. 7

    XPATH-如何选择在表的同一行的列中具有多个值的tr?

  8. 8

    使用Linq使用方法语法在相关表中查找表中具有特定值的所有记录

  9. 9

    如果相关表中有多个值,如何选择一行

  10. 10

    如何筛选具有多个条件的表行。即,在复选框选择上显示相关行。每个复选框代表列和行值

  11. 11

    如何选择表中具有重复值的行?

  12. 12

    MySQL选择表中具有超过“列值”记录的成员

  13. 13

    如何在T-sql中选择另一个表上具有最后相关记录的表的记录

  14. 14

    Yii从表中选择在相关表中没有记录的第一条记录

  15. 15

    根据具有多个记录的表中另一列的不同值添加值

  16. 16

    MySql仅从父表具有多个值的子表中获取记录

  17. 17

    如何在单行(<td>)中的html表中显示具有相同id的多个记录?

  18. 18

    如何从具有多个where条件的两个表中获取记录

  19. 19

    如何返回具有多个状态的表中的最后一条记录

  20. 20

    如何在where子句为pgsql的具有相同列的多个表中对记录进行计数

  21. 21

    防止用户删除一个表中具有相关记录的记录

  22. 22

    从表A中仅选择没有多个记录的ID

  23. 23

    从具有外键约束的多个表中删除记录

  24. 24

    如何创建具有多个值的obj并随机选择值,而无需在jQuery / JS中重复

  25. 25

    如何在MongoDB中查找具有相同键值并分配给多个值的记录

  26. 26

    如何在SQL Server中查询具有多个键/值对约束的记录?

  27. 27

    选择希望列中的值具有多个值的行

  28. 28

    在SQL中查找具有多个列值的记录

  29. 29

    选择匹配两个或多个相关表的记录

热门标签

归档