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

时间:2017-12-19 20:44:20

标签: sql

我正在尝试编写一个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子句中引用这个别名作为一个整体来实现这个目的?

1 个答案:

答案 0 :(得分: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

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