| 
    
     |  | 下記のようなテーブルから、インボイスは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;
 
 
 よろしくお願いします。
 
 |  |