代码之家  ›  专栏  ›  技术社区  ›  Alex Essilfie

如何在accesssql查询中使用变量

  •  1
  • Alex Essilfie  · 技术社区  · 15 年前

    嗨,我在做一个项目,它要求我在accesssql查询中使用大量的列。典型的查询包含以下几个字段:

    SELECT ([Score1]+[Score2]+[Score3])*.5 AS [Scores], [Subject] FROM [ScoresTable]
    WHERE ([Score1]+[Score2]+[Score3])*.5 > 500
    

    有没有办法给 ([Score1]+[Score2]+[Score3])*.5 一个变量,这样我就可以写下:

    SELECT ([Score1]+[Score2]+[Score3])*.5 AS [Scores] *= VAR*, [Subject] 
    FROM [ScoresTable] WHERE *VAR* > 500
    

    如果可能的话,你能告诉我如何达到这样的效果吗?

    非常感谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   HansUp    15 年前
    SELECT sq.Scores, sq.Subject
    FROM (
        SELECT (Score1+Score2+Score3)*.5 AS Scores, Subject
        FROM ScoresTable
        ) AS sq
    WHERE sq.Scores > 500;
    

    如果Score1、Score2或Score3可以为Null,则可能需要使用Nz函数将Null替换为零。