Search code examples
mysqlselectjoingroup-concatgravity-forms-plugin

MySql Query - Multiple SELECT statements


I am creating this MYSQL query:

SELECT
      GROUP_CONCAT(if(field_number = '2', value, NULL)) AS 'Field1',
      GROUP_CONCAT(if(field_number = '3', value, NULL)) AS 'Field2',
      GROUP_CONCAT(if(field_number = '4', value, NULL)) AS 'Field3',
      GROUP_CONCAT(if(field_number = '5', value, NULL)) AS 'Field4',
      GROUP_CONCAT(if(field_number = '6', value, NULL)) AS 'Field5',
      GROUP_CONCAT(if(field_number = '7', value, NULL)) AS 'Field6',
      GROUP_CONCAT(if(field_number = '8', value, NULL)) AS 'Field7',
      GROUP_CONCAT(if(field_number = '9', value, NULL)) AS 'Field8'
from wp_rg_lead_detail WHERE form_id = "3"
GROUP BY lead_id;

And I get good results for the above query. I have another table which stores the date for each entry and can be crosschecked by the form_id.

The query I am using to get the dates is the following:

SELECT date_created FROM wp_rg_lead WHERE form_id="3";

I need to join both queries so I get all the results in one.


Solution

  • Since you didn't provide tables structure, here is my guess:

    SELECT
          wp2.date_created,
          GROUP_CONCAT(if(field_number = '2', value, NULL)) AS 'Field1',
          GROUP_CONCAT(if(field_number = '3', value, NULL)) AS 'Field2',
          GROUP_CONCAT(if(field_number = '4', value, NULL)) AS 'Field3',
          GROUP_CONCAT(if(field_number = '5', value, NULL)) AS 'Field4',
          GROUP_CONCAT(if(field_number = '6', value, NULL)) AS 'Field5',
          GROUP_CONCAT(if(field_number = '7', value, NULL)) AS 'Field6',
          GROUP_CONCAT(if(field_number = '8', value, NULL)) AS 'Field7',
          GROUP_CONCAT(if(field_number = '9', value, NULL)) AS 'Field8'
    FROM wp_rg_lead_detail wp1
    LEFT JOIN wp_rg_lead wp2
    ON wp1.lead_id = wp2.id
    WHERE wp1.form_id = "3"
    GROUP BY wp1.lead_id;