こんにちは float値を集計していると、結果が異なります。クエリは以下の通りです
declare @cy datetime
set @d = "12/01/2010"
select SUM(total) from (
select sum(amt1) as total from table1
where date1 < @d
union all
select sum(amt1) as total from table1
where date1 >= @d
) as a
amt1のデータ型はfloatです。
そのため、クエリは列合計を集計しているだけですテーブルtable1内。 今私は変数 "@d"を "01/01/2010"と言うことができるように変更するならば、私は異なる量を得ます。 私は異なる時間帯に異なる量を得続ける なんでこんなことが起こっているの。私は結果が同じであることを期待しています私は下のクエリと一致するだろうクエリを実行します table1からsum(amt1)を選択
ありがとう ベン
更新日:私はすべての労働組合を使用していました。それを指摘してくれてありがとう。それでもまだ異なる結果が得られます
回答:
回答№1は0私はあなたが使っていると思う UNION
クエリには実際には2つの異なるテーブルがあるため、 table1
そして table2
。その場合、日付が変わっても合計が同じになるとは思わないでください。
更新: 私はあなたが選択していることに気付いた amt
1回のクエリで amt1
それ以外の場合は、合計が日付の変更と同じになると予想する理由はありません。