sql - 案例陈述支持
问题描述
我可以参考我之前的 CASE 声明吗?我知道代码是错误的,但我想做这样的事情:
SELECT
Distinct(trafficSource.campaign) AS Campaign,
Case
When (SUBSTR(trafficSource.campaign,10,4)) = 'news' then 'eNEWS'
When (SUBSTR(trafficSource.campaign,23,4)) = 'news' then 'eNEWS'
Else Null
End as **eNEWS_Flag**,
Case
When **eNEWS_Flag** = 'eNEWS' then (SUBSTR(trafficSource.campaign,21,2)) Lang_Flag,
From Blah Blah
WHERE eNEWS_Flag is NOT NULL
解决方案
鉴于 current子句,它消除了提议的表达式返回WHERE
的所有行,您应该能够在不使用任何表达式的情况下对其进行重构。eNEWS_Flag
NULL
CASE
SELECT DISTINCT
trafficSource.campaign AS Campaign,
'eNEWS' as eNEWS_Flag,
SUBSTR(trafficSource.campaign,21,2)) AS Lang_Flag,
From Blah Blah
WHERE
SUBSTR(trafficSource.campaign,10,4) = 'news'
OR
SUBSTR(trafficSource.campaign,23,4) = 'news'
SELECT
但是在大多数(任何?)SQL 方言中,您不能在同一子句中引用表达式的列别名。也不在WHERE
子句中,因为大多数引擎在评估WHERE
子句之前评估SELECT
子句。
推荐阅读
- tableau-api - 在 Tableau 中对重复项进行排名
- reactjs - 如何访问 material-ui-pickers datepicker 键盘图标的 onKeyDown 处理程序?
- firebase - 将 Firebase 自动收集的用户属性传递给 Google 跟踪代码管理器
- javascript - 我的 html 页面有 ErrorUtils 发现错误:“
我用纯 HTML CSS 和 javascript 开发了一个网页。在使用此链接创建它的帮助下,我已将 facebook 的 iFrame 嵌入到页面中。
linux - 使用 sleuthkit 但不使用 fls 列出图像目录中的所有文件
- objective-c - 如何在 Mac OS X 编程中获取 UUID
- laravel - 存储复选框值 laravel
- php - WooCommerce 为具有变体的产品复制了自定义帖子元值
- numpy - 特征值和特征向量scipy
- java - Google Analytics 的 Android Firebase 例外