【问题标题】:IIF query, display no data if false ACCESSIIF 查询,如果为 false ACCESS 则不显示数据
【发布时间】:2019-10-30 23:54:22
【问题描述】:

我正在尝试创建一个查询,如果为 false,则不显示任何数据。现在我有我的查询,我的 IIF 查询的错误部分是“”。那是为该字段显示一个空框。我希望我的查询根本不显示任何框。我可以用 IIF 声明来做到这一点吗?也许我需要一个 WHERE 子句? SQL语句如下:

SELECT
IIF(s.[Destroyed(yes/no)] = "no", s.Station_ID, "") AS Active_Stations, p.Days_Till_Next_Measure

FROM (Status AS s LEFT JOIN [Priotitization #2] AS p On s.Station_ID = p.Station_ID)

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:
    SELECT
    IIF(s.[Destroyed(yes/no)] = "no", s.Station_ID, "") AS Active_Stations, p.Days_Till_Next_Measure
    FROM (Status AS s LEFT JOIN [Priotitization #2] AS p On s.Station_ID = p.Station_ID)
    WHERE 1 = IIF(s.[Destroyed(yes/no)] = "no", 1, 2) 
    

    这行得通吗?我没有尝试这个,因为我没有访问权限。

    【讨论】:

      【解决方案2】:

      您需要一个WHERE 子句来过滤行。您无法过滤 SELECT 中的行。所以:

      SELECT IIF(s.[Destroyed(yes/no)] = "no", s.Station_ID, "") AS Active_Stations,
            p.Days_Till_Next_Measure
      FROM Status AS s LEFT JOIN
           [Priotitization #2] AS p
           On s.Station_ID = p.Station_ID
      WHERE s.[Destroyed(yes/no)] = "no";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-21
        相关资源
        最近更新 更多