Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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_Join_Self - Fatal编程技术网

MYSQL-如果需要,从表中选择全部

MYSQL-如果需要,从表中选择全部,mysql,join,self,Mysql,Join,Self,我有一个(很好的)mysql表,如下所示: Fields Datas id (pk) 1 2 3 4 5 6 master_id 1000 1000 1000 2000 2000 2000 ... master_name home home home shop shop s

我有一个(很好的)mysql表,如下所示:

Fields            Datas
id (pk)           1         2        3        4       5         6
master_id         1000      1000     1000     2000    2000     2000   ...
master_name       home      home     home     shop    shop     shop   ...
type_data         value    common   client    value   common   client ...
param_a           foo_a     1         0       bar_a     0        1    ...
param_b           foo_b     1         0       bar_b     1        0    ...
param_c           foo_c     0         1       bar_c     0        1    ...
...               ...       ...      ...      ...      ...      ...   ...
所有这些数据都嵌入到一个表中。每个数据在3个“列”集合上调度(1个用于值,1个用于标识这些值是否为公共值,1个用于标识客户值)。这不是我得到的最好的脚本,但许多其他脚本都依赖于这种结构

我需要这样的sthg:

SELECT parameters name (eg param_a, param_b..) and their values (eg foo_a, foo_b..)  
WHEN master_id=? AND type_data=(common or client) (eg for values=1 on the 2nd column)

为了获得特定主id的参数散列,如

param_a => foo_a  
param_b => foo_b  
param_c => foo_c  
...
到目前为止,我还不能成功地在同一张桌子上自我连接,但我想这应该是可行的。(我想避免做一些查询)


Thx提前

我想你是在谈论数据透视?如果是这样,请看这里:

嗯,也许吧,但我不这么认为,因为我只能得到一个数据向量。我尝试了这个。它根本不起作用,但可能更好地“解释”我需要什么:从我的表e1、我的表e2中选择*其中e1.master\u id=1000和e1.type\u data=“value”和e2.type\u data=“client”,因为结果是result=1,所以找不到有效的解决方案。我放弃了它,并通过脚本播放数组来完成它。。。