【问题标题】:SQL Server Query equivalent of excel formulaSQL Server Query 等效于 excel 公式
【发布时间】:2020-06-27 13:45:54
【问题描述】:

在我的 Excel 单元格 A 到 F 中保存整数值。

IF(COUNTIFS(cellA:cellD,">0")=0,0,IF(COUNTIFS(cellA:cellD,">0")=0), 单元格E>0,单元格F>0),1,0),"Y",0))

如何将上述 excel 公式转换为 MSSQL 查询。 注意:在我的名为“MyData”的 SQL 表中,列如下,括号中是我的 excel 中的相应单元格。

【问题讨论】:

  • 请描述您要实现的逻辑并展示结果。
  • 使用sql server中的导入数据工具将excel导入sql server
  • @Amirhossein 数据已经在使用 SSIS 包导入的 SQL 中。现在正在寻找一种在 excel 现在在 SQL 查询中使用相同公式的方法。
  • @GordonLinoff 这个想法在 excel 中 COUNTIFS(cellA:D) 会给我更大的 0,然后在这里进行比较:IF(COUNTIFS(cellA:cellD,">0")=0), cellE>0,cellF>0),1,0),"Y",0))。给出“Y”或“0”。这是由 excel 中的某个人完成的,但他们需要来自 SQL Server 数据库的 SSRS 报告中的相同输出,并且数据已经导入。主要是想在SQL中翻译公式。我对excel不太了解...

标签: sql sql-server excel


【解决方案1】:

您可以检查以下脚本是否适合您。如果没有,一些调整应该可以为您解决问题,因为所有逻辑都可以重复使用

SELECT 
CASE         
    WHEN 
      (
        CASE WHEN 'CollE(CellA)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellB)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellC)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellD)' > 0 THEN 1 ELSE 0 END
      ) = 0 
    THEN "0"
    WHEN
      (
        CASE WHEN 'CollE(CellA)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellB)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellC)' > 0 THEN 1 ELSE 0 END +
        CASE WHEN 'CollE(CellD)' > 0 THEN 1 ELSE 0 END
      ) <= (CASE WHEN 'CollE(CellE)' > 0 AND 'CollF(CellF)' > 0 THEN 1 ELSE 0 END)
    THEN "Y"
    ELSE "0"
END
FROM your_table_name

【讨论】:

    猜你喜欢
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2014-05-30
    相关资源
    最近更新 更多