UNION ALLを使用して2つのクエリから結果を取得していますが、データの行が失われています。どのselectステートメントが最初に来るかを切り替えると、欠落しているデータが別の行に切り替わります。それぞれのslectステートメントは、別々に実行すると正しい情報を取得しますが、まとめると正しく機能しません。以下は私の質問です:
SELECT YEAR( orderDate ) AS "SalesYear"
, MONTH( orderDate ) AS "SalesMonth"
, SUM( orderTotal ) AS "TotalSales"
, orderDetails.productID
FROM orders
INNER JOIN orderdetails
ON orders.orderID = orderDetails.orderID
INNER JOIN products
ON orderDetails.productID = products.productID
UNION ALL
SELECT YEAR( orderDate ) AS "SalesYear"
, MONTH( orderDate ) AS "SalesMonth"
, SUM( orderTotal ) AS "TotalSales"
, instorepurchasedetails.productID
FROM in_storepurchase
INNER JOIN instorepurchasedetails
ON in_storepurchase.isPurchaseID = instorepurchasedetails.isPurchaseID
INNER JOIN products
ON instorepurchasedetails.productID = products.productID
GROUP BY YEAR(orderDate ), MONTH( orderDate ), orderTotal, productID
なぜこれが起こっているのか、そして私に何ができるのか、何か考えはありますか?