Skip to content Skip to sidebar Skip to footer

Combing Results From Union All Into One Row When Some Columns Have Different Values

I'm using union all to combine the results of two select statements. I'm trying to group the results by the date_requested column. I need to combine both queries into one row if

Solution 1:

Remove tracking_id from the subqueries and use union:

(select trv.requested_date, trv.requested_status
from  tbl_trackvalue as trv, tbl_tracking as t , tbl_offers as off , tblusers as usr
where t.id=trv.tracking_id  and off.id=t.offer_id and  usr.id=trv.tr_user_id and usr.id='1454'and trv.payment_status='pending'and trv.requested_status='declined'groupby trv.tr_user_id, trv.requested_date order by trv.requested_date asc )
union
(select mlc.requested_date, mlc.requested_status
from  tbl_trackvalue as trv ,tbl_tracking as t , tbl_offers as off , tblusers as usr, tbl_mailchimp_trackvalue as mlc
where trv.tracking_id=mlc.tracking_id  and off.id=t.offer_id and  usr.id=trv.tr_user_id and usr.id='1454'and mlc.payment_status='pending'and mlc.requested_status='declined'groupby trv.tr_user_id, mlc.requested_date order by mlc.requested_date asc ) 

Solution 2:

If the rows are exactly the same except for tracking_id, just remove that from your list and use UNION instead of UNION ALL. If you have other differences, you may prefer to use GROUP BY on your final results, so that you can use aggregate functions on other values that are different.

Post a Comment for "Combing Results From Union All Into One Row When Some Columns Have Different Values"