gpt4 book ai didi

mysql - 查询具有逗号分隔值的列

转载 作者:行者123 更新时间:2023-11-29 06:47:30 24 4
gpt4 key购买 nike

我有2个Mysql表

  1. 类别
id |  name 
-----------
1 | cat1
  1. 项目
id |  name | cat_ids
--------------------
1 | prod1| 1,2,3

我有一个用例,我获得一个类别 ID,并且必须获取所有相关产品。

我尝试使用类似查询。 (如果我输入 1,它不仅会得到 1 的乘积,还会得到 11、12...每个数字都有 1,这是错误的)

我在项目中使用的是spring-boot + jpa。我想过以编程方式执行此操作,但有数千条记录,迭代不是一个可行的解决方案。

请提出建议

PS:我知道这是一个非常糟糕的设计。但这件事已经交给我了,我必须处理这个问题。

最佳答案

这看起来是一个糟糕的数据库设计。您应该有第三个表 category_item_relation 或类似表:

  • 类别_项目_关系
    id | cat_id | item_id
    1 | 1 | 1
    2 | 2 | 1
    3 | 3 | 1
    4 | ...
  • 然后您可以简单地使用 JOIN 进行查询:

    SELECT * FROM Category
    JOIN Category_Item_Relation ON Category.id = cat_id
    JOIN Item ON Item.id = item_id
    WHERE Category.id = ?

    关于mysql - 查询具有逗号分隔值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48707893/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com