mysql查询,用于获取引用另一个表的项列表

时间:2015-10-27 03:02:30

标签: mysql mariasql

我有这样的表

+----+-------+-------------+
| id | items |     name    |
+----+-------+-------------+
|  1 | 1,2,3 |   hot deals |
|  2 | 2,3,4 |   offers    |
+----+-------+-------------+

其中items是产品的ID

这是产品表(迷你版)

+-----------+--------------------+
| productid |  productname       |
+-----------+--------------------+
|         1 |   sony mobile      |
|         2 |   iphone 4s        |
|         3 |   dell laptop v1   |
|         4 |   samsung mouse    |
+-----------+--------------------+

我需要将结果作为带名字的项目数组 前 [hot deals => [(1,sony mobile),(2,iphone 4s),(3,戴尔笔记本电脑v1) ],提供=> [ - ]]

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

1 个答案:

答案 0 :(得分:0)

您可以join使用find_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表来分别存储逗号分隔值。