我有一个像这样构建的(不错的)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 个用于识别这些是否是公共值,一个用于识别客户值)。这不是我得到的最好的,但许多其他脚本都依赖于这种结构。
我需要这样的东西:
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)
.
为了获取特定 master_id 的参数哈希,例如
param_a => foo_a
param_b => foo_b
param_c => foo_c
...
到目前为止,我无法成功地在同一张桌子上自我加入,但我想这应该是可行的。(我想避免做几个查询)
提前谢谢