Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql加入何处_Mysql_Sql_String_Csv_Where Clause - Fatal编程技术网

mysql加入何处

mysql加入何处,mysql,sql,string,csv,where-clause,Mysql,Sql,String,Csv,Where Clause,表1: id name value_ids 1 extras 5,6 2 brand 7 表2: id value 5 extra1 6 extra2 7 brand1 我的问题是,如何查询表以获得这样的smth: 一, 或 二, 您可以使用find_in_set()获得第二个结果集: 更好的选择是修复数据模型。您不应该在一列中存储多个值(数字!)。相反,您应该有一个单独的表来表示表之间的多对多

表1:

id    name         value_ids    
1     extras       5,6 
2     brand        7
表2:

id  value
5   extra1  
6   extra2  
7   brand1 
我的问题是,如何查询表以获得这样的smth:

一,

二,


您可以使用
find_in_set()
获得第二个结果集:

更好的选择是修复数据模型。您不应该在一列中存储多个值(数字!)。相反,您应该有一个单独的表来表示表之间的多对多关系,每个ID元组存储在单独的行中


推荐阅读:

您可以使用
在集合中查找()
获得第二个结果集:

更好的选择是修复数据模型。您不应该在一列中存储多个值(数字!)。相反,您应该有一个单独的表来表示表之间的多对多关系,每个ID元组存储在单独的行中

建议阅读:

name     value
extras   extra1,extra2
brand    brand1
name     value
extras   extra1
extras   extra2
brand    brand1
select t1.name, t2.value
from t1
inner join t2 on find_in_set(t2.id, t1.value_ids)
SELECT t1.name, t2.value
   FROM table_1 t1
   INNER JOIN table_2 t2 ON find_in_set(t2.id , t1.value_ids);