データベースからレコードを取得してレポートに表示するために使用されるSQLクエリを実行しています。問題は、計算をサブクエリとして配置すると、すべての行に冗長なレコードが表示されるSENOKO列です。私はそれをメイン クエリとして実行してテストしましたが、レポートに示されている数値は正しいです。
サブクエリとして実行
SELECT whbal.customer, customer.imp_license_no,
(SELECT SUM(CONVERT(DECIMAL(8, 3), (CONVERT(DECIMAL(8, 3), whbal.qty_good) +
CONVERT(DECIMAL(8, 3), whbal.qty_slack)) *
CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000))
FROM whbal
INNER JOIN customer ON whbal.customer = customer.customer
WHERE whbal.warehouse = 'SKW') AS SENOKO
FROM customer
INNER JOIN whbal ON whbal.customer = customer.customer
WHERE (whbal.customer BETWEEN @cust1 AND @cust2)
GROUP BY whbal.customer, customer.imp_license_no
メインクエリとして実行
SELECT whbal.customer,
customer.psq_level,
SUM(CONVERT(DECIMAL(8, 3), (CONVERT(DECIMAL(8, 3), whbal.qty_good) +
CONVERT(DECIMAL(8, 3), whbal.qty_slack)) *
CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000)) AS SENOKO
FROM whbal
INNER JOIN customer ON whbal.customer = customer.customer
WHERE (whbal.customer BETWEEN @cust1 AND @cust2) AND (whbal.warehouse = 'SKW')
GROUP BY whbal.customer, customer.psq_level
私のクエリの問題を知っている人はいますか? 助けて指導してください 事前に感謝します