SQLite联接表并选择列所在的位置

谢尔盖·格里申科(Sergey Grischenko)

我有3张桌子

**Posts**

id post_title
1  First_Post
2  Second_Post
3  Third_Post


**Tags**

id tag_name
1  Published
2  Favorites
3  Deleted


**PostTagRelatives** 

id post_id tag_id
1    1       1
2    1       2
3    2       3

我用查询

SELECT p.*, GROUP_CONCAT(PostTagRel.tag_id) AS tags FROM Posts p left
join PostTagRelatives PostTagRel on PostTagRel.post_id = p.id GROUP BY
p.id

而且效果很好。

我需要添加到sql查询中的内容才能仅获取包含标签“ Published”和“ Favorites”的帖子。我尝试在GROUP BY之前插入某些条件,例如

WHERE (',' || tags || ',') LIKE '%,1,2,%'

但这没有帮助。

woo

您可以尝试子选择来查找两者。我假设是PK,而帖子不能多次使用相同的标签。

SELECT p.*, GROUP_CONCAT(PostTagRel.tag_id) AS tags 
FROM Posts p 
left join PostTagRelatives PostTagRel on PostTagRel.post_id = p.id 
WHERE 2 = ( SELECT COUNT(*)
            FROM PostTagRelatives PTR
            INNER JOIN Tags T ON (T.tag_id = PTR.tag_id AND PTR.post_id = p.post_id )
            WHERE T.tag_name IN ('Published','Favorites') )
GROUP BY p.id

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server:选择多列所在的位置

来自分类Dev

在内部联接所在的位置找不到列

来自分类Dev

根据行所在的表为列选择不同的值

来自分类Dev

仅从CTE的联接表中选择列

来自分类Dev

推进:从别名联接表中选择列

来自分类Dev

从列值中选择联接表

来自分类Dev

从表中选择列与联接两个表

来自分类Dev

通过表联接选择

来自分类Dev

如何从其所在的所有表中选择一个列?

来自分类Dev

如何选择“ user_id”列所在的所有表名?

来自分类Dev

在SQLAlchemy Core中从多个表联接中选择列

来自分类Dev

Oracle:是否可以根据列值选择要联接的表?

来自分类Dev

如何在Propell中选择表联接上的特定列?

来自分类Dev

通过联接表选择其他列的计数(Oracle SQL)

来自分类Dev

从带有条件联接的表中选择列

来自分类Dev

如何从蒸气4的联接表中选择所有列?

来自分类Dev

内部联接3个表,仅选择了特定的列

来自分类Dev

Laravel - 选择临时列所在的临时列

来自分类Dev

SQL / SQLite:仅当多列匹配时才左联接,选择联接结果字段

来自分类Dev

返回选择匹配所在的MySQL列的名称

来自分类Dev

Java Sql从月份所在的列中选择

来自分类Dev

计算联接表的列

来自分类Dev

如何联接2个表并使用两个表中的公共列选择特定列

来自分类Dev

在带有联接表的sqlite中执行选择时,别名列的值为空

来自分类Dev

用雄辩的表或查询构建器联接表时,选择所有带有asterix的列

来自分类Dev

SQLITE在表之间选择

来自分类Dev

内部联接选择多个列

来自分类Dev

SQLite选择,联接和where子句问题

来自分类Dev

node-sqlite3从多个表中选择列

Related 相关文章

热门标签

归档