Transpose in database queries: Difference between revisions

From SMTX Wiki
Jump to navigation Jump to search
Created page with "Sometime you want to transpose data from rows into columns. For example, the person_extra table contains values that belong to persons, but the data is stored as rows. Here's..."
 
m 1 revision imported
(No difference)

Revision as of 21:44, 25 May 2020

Sometime you want to transpose data from rows into columns. For example, the person_extra table contains values that belong to persons, but the data is stored as rows. Here's a query to get the desired result:

 select 
  person_id, 
  MAX( CASE fieldname WHEN 'Person_fieldname1' THEN fieldvalue END) as Field1name, 
  MAX( CASE fieldname WHEN 'Person_fieldname2' THEN fieldvalue END) as Field2name, 
  email 
 from personextra 
  inner join person on person.id=personextra.person_id 
 where (fieldname = 'Person_fieldname1' or fieldname = 'Person_fieldname1') and person.isactive=1 and fieldvalue <>  
 group by person_id, email