第一张表
|product_name | category_ids |
|---------------------------------|
|- apple | 1, 2 |
|- extra_apple | 1, 3 |
第二张表
|category_id | category_name |
|---------------------------------|
|- 1 | fruit |
|- 2 | cheap |
|- 3 | expensive |
我如何加入这个,所以我得到这样的东西
| product_name | category_names |
--------------------------------------------
| apple | fruit, cheap |
| extra_apple | fruit, expensive |
答案 0 :(得分:3)
要做到这一点,请添加另一个表:
product_categories table
------------------------
product_id
category_id
它包含产品每个类别的一条记录。
答案 1 :(得分:1)
第一个表不是标准化
|product_name | category_ids |
|---------------------------------|
|- apple | 1, 2 |
|- extra_apple | 1, 3 |
首先规范化此表AS
|product_name | category_ids |
|---------------------------------|
|- apple | 1 |
|- apple | 2 |
|- extra_apple | 1 |
|- extra_apple | 3 |
第二张表
|category_id | category_name |
|---------------------------------|
|- 1 | fruit |
|- 2 | cheap |
|- 3 | expensive |
MySQL语法为:“SELECT T1.product_name,T2.category_name FROM FIRST_TABLE为T1,SECOND_TABLE为T2,其中T1.category_ids = T2.category_id”
这将给你结果:
| product_name | category_names |
--------------------------------------------
| apple | fruit |
| apple | cheap |
| extra_apple | fruit |
| extra_apple | expensive |