SQL Select语句 - 基于语句中别名值的结果

问题描述 投票:-1回答:1

我正在尝试编写一个Select语句(由大约20个不同的连接别名组成),只有在同一语句中创建的别名之一的值等于某个值时,才会返回结果。

在这一点上我对SQL非常环保,因此不知道如何正确地说出这种困境以便在其他地方找到答案。

元素的当前代码被赋予别名“cmp_freq”:

ISNULL((SELECT GroupValue FROM ClientGroup WHERE ClientKey = c.ClientKey AND GroupCode = 'CMP-FREQ'),'PLEASE UPDATE FIELD') AS cmp_freq

基本上,我只希望为整个语句返回结果,其中cmp_freq的值为“30”。有没有办法在语句的where子句中引用这个别名作为一个整体来实现这个目的?

sql
1个回答
0
投票

有几种方法可以实现您的目标。一种方法是将查询包装在SELECT中并使用WHERE子句,如下所示:

SELECT i.cmp_freq
FROM (
        /* Your existing query */
        SELECT
        ISNULL((SELECT GroupValue FROM ClientGroup WHERE ClientKey = c.ClientKey AND GroupCode = 'CMP-FREQ'),'PLEASE UPDATE FIELD') AS cmp_freq
        FROM MyTable c
    ) i
WHERE i.cmp_freq = 30

由于您的问题中没有足够的信息,因此很难提供其他选项。

© www.soinside.com 2019 - 2024. All rights reserved.