I have two tables, in both tables I have a unique column titled phone_number and then a column called spring with 3 others columns. The spring column has a number value. This table has about 3000 rows. I have a duplicate table with the same information but with only about 300 rows. I want to combine the values of both tables’ spring columns based on the phone_number unique column.
I have tried doing a MERGE and also a UNION but I don’t really understand how they work and kept getting syntax errors.
SELECT accountstwo.phone_number, accountstwo.deposit_total, accountstwo.summer, accountstwo.total_remain, ( SUM(accountstwo.spring) + SUM(accountstwonu.spring) ) spring FROM accountstwo LEFT JOIN accountstwonu ON accountstwonu.phone_number = accountstwo.phone_number GROUP BY phone_number;
I can get the tables to join but it creates a new column called spring with only the combined column totals and the original table’s other 2700 rows return as NULL. I want to keep the 2700 rows data as well as combine the other 300.
Advertisement
Answer
Is this what you want?
SELECT a2.phone_number, a2.deposit_total, a2.summer, a2.total_remain, (COALESCE(a2.spring, 0) + COALESCE(SUM(a2nu.spring), 0)) as spring FROM accountstwo a2 LEFT JOIN accountstwonu a2nu ON a2.phone_number = a2nu.phone_number GROUP BY a2.phone_number, a2.deposit_total, a2.summer, a2.total_remain, a2.spring;