MYSQL - SELECT ALL FROM TABLE if...

Posted by hornetbzz on Stack Overflow See other posts from Stack Overflow or by hornetbzz
Published on 2011-01-06T04:43:14Z Indexed on 2011/01/06 4:54 UTC
Read the original article Hit count: 246

Filed under:
|
|

Hello

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 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

© Stack Overflow or respective owner

Related posts about mysql

Related posts about join