|
下記のようなテーブルから、インボイスはDISTINCTの件数、ITEMはライン数でカウントを取引先毎にまとめたいのですが、1つのSQLにて可能でしょうか?
テーブルINVOICE
DATE cd_dealer invoice pno
A A0001 X
A A0001 Y
A A0002 X
B B0001 X
B B0002 X
ほしい結果
取引先 インボイス数 ライン数
A 2 3
B 2 2
現状では、最初に取引先とインボイスでGROUP化してITEMをカウントしたクエリと
インボイスを取引先毎にGROUP化してDISTINCTカウントしたクエリを取引先で結合した
クエリにて取り出しています。
クエリ1
SELECT [invoice].[date],
[invoice].[cd_dealer],
[invoice].[invoice],
Count([invoice].[pno]) AS pnoのカウント
FROM invoice
GROUP BY [invoice].[date],
[invoice].[cd_dealer],
[invoice].[invoice];
クエリ2
SELECT count(*) AS inv, dlcd
FROM [SELECT distinct invoice,
cd_dealer as dlcd
FROM invoice
GROUP BY invoice,
cd_dealer
]. AS T
GROUP BY dlcd;
クエリ3
SELECT n_inv.inv AS inv数,
n_inv.dlcd,
Sum(invoice_npn.pnoのカウント) AS ライン数
FROM n_inv INNER JOIN invoice_npn ON n_inv.dlcd = invoice_npn.cd_dealer
GROUP BY n_inv.inv, n_inv.dlcd;
よろしくお願いします。
|
|