开发者

MYSQL - SELECT ALL FROM TABLE if

开发者 https://www.devze.com 2023-02-02 12:29 出处:网络
I have a (nice) mysql table built like this : FieldsDatas id (pk)123456 master_id100010001000200020002000...

I have a (nice) mysql table built like this :

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    ...
...               ...       ...      ...      ...      ...      ...   .开发者_开发知识库..

All these datas are embed in a single table. Each datas are dispatched on 3 "columns" set (1 for the values, 1 for identifying if these are common values and one for identifying client values). It's not the best I got but many other scripts depends on this structure.

I'd need sthg like this:

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)

.

in order to get the parameters hash for a particular master_id like

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

I could not succeed in self joining on the same table till now but I guess it should be feasible. (I'd like to avoid to do several queries)

Thx in advance


I think you are talking about pivoting the data? If so, see here: http://en.wikibooks.org/wiki/MySQL/Pivot_table and here: http://dev.mysql.com/tech-resources/articles/wizard/print_version.html

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号