我正在尝试编写一个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子句中引用这个别名作为一个整体来实现这个目的?
答案 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
由于您的问题中没有足够的信息,因此很难提供其他选项。