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