sql >> Databasteknik >  >> RDS >> Mysql

SQL Query med union och gå med

Använd följande fråga

select `company_name, `store_name`, MONTH, sum(`sales`) as sales, sum(purchase) as purchase   from (
select `company_group`.`company_name, `store`.`store_name`, MONTHNAME(date) AS MONTH,`sales`.`sales` , 0 as purchase
from company_group, store,sales
where `company_group`.`company.id`=`sales`.`company.id`
and `store`.`store.id`=`sales`.`store.id`

UNION

select `company_group`.`company_name, `store`.`store_name`, MONTHNAME(date) AS MONTH,`wh_sales`.`sales`, 0 as purchase
from company_group, store,wh_sales
where `company_group`.`company.id`=`wh_sales`.`company.id`
and `store`.`store.id`=`wh_sales`.`store.id`

UNION

select `company_group`.`company_name, `store`.`store_name`, MONTHNAME(date) AS MONTH, 0 as sales, purchase
from company_group, store,purchase
where `company_group`.`company.id`=`purchase`.`company.id`
and `store`.`store.id`=`purchase`.`store.id`) a
group by company_name,store_name, 'MONTH'

Group by-satsen behövs inte för de inre frågorna eftersom det inte finns någon gruppfunktion. Jag har flyttat den till den yttersta frågan



  1. FEL 1044 (42000):Åtkomst nekad för "root" med alla privilegier

  2. Oracle-sekvenser motsvarande i MySQL

  3. PostgreSQL:konvertera hexadecimal sträng med ett mycket stort tal till en NUMERISK

  4. Skicka array från Java till Oracle:java.sql.SQLException:Misslyckades med att konvertera till intern representation:error