MYSQL-如果需要,从表中选择全部
我有一个(很好的)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
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,所以找不到有效的解决方案。我放弃了它,并通过脚本播放数组来完成它。。。