2

少し助けが必要です。請求書テーブルと請求書詳細テーブルがあります。気になるデータを請求書詳細テーブルから一時テーブルに取り出しました (他の計算用)。詳細行の合計が請求書テーブルの総コストと等しくない請求書を見つける必要があります。これが私のコードです:

Create table #inv_det (
invco varchar(6),
invno int,
invtot money,
invpd int);

Insert into #inv_det (invco,invno,invtot,invpd)
Select invd_inv_co, invd_inv_no, invd_total_cost, invd_glpd_no 
from invdet 
inner join invoice on invd_inv_co=inv_co and invd_inv_no=inv_no 
where inv_dt>=cast('10-01-13 00:00:00' as datetime) and inv_dt<=cast('10-31-13 11:59:59' as datetime);

これが私のクエリです:

Select invco, invno from #inv_det 
inner join invoice on invco=inv_co and invno=inv_no 
where inv_dt>=cast('10-01-13 00:00:00' as datetime) 
  and inv_dt<=cast('10-31-13 11:59:59' as datetime) 
having sum(invtot)<>inv_total_amt
group by invco, invno;

クエリを実行すると、「Server: Msg 156, Level 15, State 1, Line 5 Incorrect syntax near the keyword 'group'.」というメッセージが表示されます。

目標を十分に説明できたことを願っています。誰かが私が欠けているものを指摘できることを願っています。私は多くのバリエーションを試しました。

ありがとう!

4

2 に答える 2

2

GROUP BYそしてHAVINGあなたのSQLで間違った方法です

于 2013-11-04T01:48:03.417 に答える