2 つの異なるテーブル セットの結果を 1 つの結果に結合しようとしています。これまでの私のクエリは次のとおりです。
SELECT *
FROM ( SELECT product_table1.product_id as product_id, sum(product_table1.qty) as quantity, sum(product_table1.paid) as amount
FROM product_table1
LEFT JOIN table2 ON table2.id = product_table1.table2_id
WHERE product_table1.product_id IN ( SELECT id FROM products_table WHERE active = 'yes' )
AND table2.active = 'yes'
GROUP BY product_id
UNION
SELECT product_table2.product_id as product_id, sum(product_table2.qty) as quantity, sum(product_table2.paid) as amount
FROM product_table2
LEFT JOIN table3 ON table3.id = product_table2.table3_id
WHERE product_table2.product_id IN ( SELECT id FROM products_table WHERE active = 'yes' )
AND table3.active = 'yes'
GROUP BY product_id
) AS product_sales
そして、データがどのように戻ってくるかは次のとおりです。
product_id | quantity | amount
1 100 200
2 200 300
3 300 600
1 500 700
4 200 200
私は、これらの 2 つの数値セット (それぞれが同じ量の列とデータ型を持っている) をどのように取得し、それらを 1 つの結果セットに結合するのに PHP を導入する必要がないかを理解しようとしています。これは可能ですか?
他の解決策をいくつか見つけましたが、それらが私がやろうとしていることと一致するかどうかはわかりません。私が必要だと思う別の解決策の例ですが、確かではありません..