如何添加where条件?

How do I add where condition?

我想根据返回结果添加条件

将现有查询用作子查询:

select * from (
<add your existing query in the screenshot here>
) t
where <add your conditions here> 

我认为您应该将您的代码包含在 post 本身中。这样的图实在是太不方便了

W3: SQL WHERE

如您所见,只需在末尾添加您的 WHERE 语句:

SELECT * FROM XXX WHERE CONDITION

您不能在范围的 FROM 子句中重复使用在 SELECT 子句中定义的别名。您需要重复表达式,或者使用子查询或 CTE。

select dayofweek_iso(timestamp(mycol)) as mynewcol 
from mytable
where dayofweek_iso(timestamp(mycol)) = 1

或者:

select *
from (
    select dayofweek_iso(timestamp(mycol)) as mynewcol 
    from mytable
) t
where mynewcol = 1

出于兴趣,自 Db2 11.5 起,如果使用 NPS(即 Netezza compatibility)模式,您可以在 WHERE 子句中引用列别名。

CREATE TABLE MYTABLE(MYCOL DATE)

SET SQL_COMPAT='NPS'

SELECT DAYOFWEEK_ISO(TIMESTAMP(MYCOL)) AS MYNEWCOL 
FROM MYTABLE
WHERE MYNEWCOL = 1

不过,这最好保留给从 Netezza 迁移的用户,因为 NPS 模式也改变了其他一些东西。