小编Jul*_*n L的帖子

SQLITE:标签和产品的问题

我正在寻找一种创建查询以执行以下操作的方法:

让我们考虑 3 个表:

  • 产品:产品列表
  • 标签:标签列表
  • tag_ties:用于将标签与产品相关联的表

让我们考虑每个表的这种结构:

产品:

  • id(整数,自动增量)
  • 名称(varchar,产品名称)

标签:

  • id (int 自动增量)
  • 标签(varchar,标签的标签)

标签关系:

  • id(整数,自动增量)
  • tag_id(整数,对标签 ID 的引用)
  • ref_id(整数,对产品 ID 的引用)

我想要的是:

例如,获取所有标记为标签 id 10、11 和 12 的产品。

此查询不起作用,因为它返回至少具有以下标签之一的产品:

select 
    p.name as name,
    p.id as id
from 
    products p inner join tag_ties ties
on
    p.id=ties.ref_id
where
    ties.ref_id=p.id and
    ties.tag_id in (10,11,12)
group by 
    p.id
order by 
    p.name asc
Run Code Online (Sandbox Code Playgroud)

sqlite query subquery

11
推荐指数
3
解决办法
2805
查看次数

标签 统计

query ×1

sqlite ×1

subquery ×1