【问题标题】:mysql query for getting a list of items with reference to another table用于获取参考另一个表的项目列表的mysql查询
【发布时间】:2015-10-27 03:02:29
【问题描述】:

我有这样的桌子

+----+--------+-------------+ |编号 |项目 |姓名 | +----+--------+-------------+ | 1 | 1,2,3 |热卖 | | 2 | 2,3,4 |报价 | +----+--------+-------------+

其中 items 是产品的 id

这是产品表(迷你版)

+-----------+--------+ |产品ID |产品名称 | +-----------+--------+ | 1 |索尼移动| | 2 | iphone 4s | | 3 |戴尔笔记本电脑v1 | | 4 |三星鼠标| +-----------+--------+

我需要将结果作为具有名称的项目数组 前任 [热卖 =>[(1,sony mobile),(2,iphone 4s),(3,dell laptop v1 ) ],offers=>[--]]

如果不能在 (MYSQL) 存储过程中实现这一点,我如何以最少的查询次数实现这一点 旁注:第一个表最多有 6 行

【问题讨论】:

    标签: mysql mariasql


    【解决方案1】:

    您可以将joinfind_in_set() 一起使用:

    select t.id, t.name, p.productname
    from yourtable t
       join products p on find_in_set(p.productid, t.items)
    

    作为旁注,我建议研究数据库规范化。最好创建另一个 1-n 表来分别存储逗号分隔的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      相关资源
      最近更新 更多