我有一个SQL查询 SELECT N2 as DOORS, N2 as WINDOWS WHERE numero=45AND CODEITEM='D' OR CODEITEM='W' 现在,它给我带来了2列(门,窗)和相同的结果。我真正想要的是在DOORS栏上只显示代码为'D‘的项目,在WINDOWS栏上只显示代码为'W’的项目 我怎样才能做到这一点呢
我注意到,在PostgreSQL中,如果我们执行SELECT 42 WHERE NULL,结果集是空的。因此,类似于SELECT c FROM t WHERE c > 0的东西将从t中选择所有行,其中c不是,大于零(因为当c是NULL时,条件c > 0计算为NULL)。我不确定的是,我是否可以依赖这种行为,因为WHERE NULL似乎是一个黑客。(更合适的方法可能是使用CASE表达式。)