2011-01-06 45 views
0

我建立一個像這樣的(漂亮)的MySQL表:MYSQL - ALL SELECT FROM表,如果

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) 

爲了得到這些參數的散列特定master_id像

param_a => foo_a 
param_b => foo_b 
param_c => foo_c 
... 

我不能自加入同一個表到現在成功的,但我想它應該是可行的。 (我想避免做幾個查詢)

THX提前

回答

相關問題