Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用一列求和,但可能使用另一列_Sql_Sql Server 2005 - Fatal编程技术网

Sql 使用一列求和,但可能使用另一列

Sql 使用一列求和,但可能使用另一列,sql,sql-server-2005,Sql,Sql Server 2005,我有这张桌子 竞选档案 id campaignID bannerID poolID limitImpressions actualImpressions ----------------------------------------------------------------------------- 1 496 10367 7 12500 205 2 497

我有这张桌子

竞选档案

id   campaignID   bannerID   poolID   limitImpressions      actualImpressions
-----------------------------------------------------------------------------
1    496          10367      7        12500                 205
2    497          10367      7        12500                 22860
3    498          10367      7        12500                 1525
我需要总结到目前为止的实际印象,通常是:

select sum(actualImpressions) as actuals from campaignArchive
但是,如果RealityPressions列值超过第2行中的limitImpressions列值,则我希望改用limitImpressions列值

希望这是有道理的。感谢您的帮助。

您需要提供一份案例陈述

select
    sum(case when actualImpressions > limitImpressions 
             then limitImpressions 
             else actualImpressions end) as actuals

from campaignArchive
你需要包括一份案例陈述

select
    sum(case when actualImpressions > limitImpressions 
             then limitImpressions 
             else actualImpressions end) as actuals

from campaignArchive