如果匹配条件,Excel 中的 SQL 返回字段

迈克尔·帕尔科

如果合同只有一个项目,我需要返回项目名称,否则返回项目数。

Contract, Project, Rev
con1    , prj1   , 5
con1    , prj2   , 20
con2    , prj3   , 30

可能的结果:

Contract, Project, Sum of Rev 
con1    , 2      , 25
con2    , prj3   , 30

到目前为止,我有这个:

SELECT Contract, IIF(Count(Project)=1,Project,COUNT(Project)) AS 
       ProjectCount, SUM(Rev) AS Sum of Rev 
FROM Table1 
GROUP BY Contract 

错误图片

我也试过用 VLOOKUP 函数替换 Project,但它只是作为文本,而不是计算。

戈登·利诺夫

试试这个:

SELECT Contract, 
       IIF(Count(Project) = 1, MAX(Project), COUNT(Project)) AS ProjectCount,
       SUM(Rev) AS Sum of Rev 
FROM Table1 
GROUP BY Contract ;

如果您只有一个项目,则最大值项目名称。

您可能需要转换MAX(Project)为字符串。标准语法是:CAST(MAX(Project) as VARCHAR(32)). 但是,该语法在您使用的数据库中可能会有所不同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 ja[email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果条件匹配,则查找列中字段总和的 SQL 查询,否则返回默认值

如果三列完全匹配,则使用Excel中的countifs条件返回值

SQL查询;返回主表的所有记录,并根据条件从连接表中添加字段;当在连接表中找不到匹配项时,将值留空

如果条件在SQL函数中不起作用,则返回语句

如果SQL中满足特定条件,如何返回整数?

如果所有条件都等于一个特定值,是否有一种方法可以返回与SQL中特定字段关联的输出

SQL中的条件计数返回

如果设置匹配则返回 SQL

如何在Excel中返回匹配特定条件的数组?

从MonoDB返回所有字段,该字段与嵌入在Object类型中的字段的值匹配

如果条件在Oracle SQL中

将多个字段返回到Oracle SQL Developer中的单个用逗号分隔的字段

如果匹配返回并从CASE语句退出,则使用CASE比较SQL中的值

如果MySQL中的字段为null,则返回0

SQL语句在某些字段中不返回任何内容或返回NULL

根据某些条件返回行,如果没有行符合条件,则返回mariadb sql中的所有行

如果SQL条件中的其他条件

SQL Server 2019返回的查询中的DateTime条件不匹配的记录

问:匹配行并在SQL中插入返回值(复杂条件)

sql如何在条件中返回列表

如果值满足 Spark SQL(版本 <= 2.4)中的条件,我如何返回键列表?)

SQL-在COUNT中指定条件/在一个SELECT中多次从同一字段返回值

Excel:如果两列中的每个值都匹配,如何返回 True?

如何在SQL中没有输入的字段中返回“ NULL”?

如何在 Excel 中的两个单独列中匹配返回相关单元格字段?

返回匹配一个条件的行,如果没有,则在 MYSQL 中返回另一个

SQL:在临时表中的字段上创建条件条件的案例

如何在 Excel 中从多个条件返回多个匹配项的列标题?

如果条件返回false,请不要在Excel中创建空白单元格