sql - 组合/加入 SQL 查询
问题描述
我有一个查询,它从 JSON 文档中获取数据,检查已返回哪些值,然后返回该计数。
SELECT
(CASE WHEN cat_name IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN dog_name IS NOT NULL THEN 1 ELSE 0 END
) AS cat_dog_total
from (select JSON_EXTRACT_SCALAR(data, '$.cat.name') as cat_name
JSON_EXTRACT_SCALAR(data, '$.dog.name') as dog_name
from table
)
作为此查询的一部分,我还想返回cat_name
,dog_name
并添加一个WHERE pet_store = 'london'
我不确定我应该在哪里添加其他参数,或者我是否应该加入子查询?
解决方案
SELECT cat_name, dog_name,
(CASE WHEN cat_name IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN dog_name IS NOT NULL THEN 1 ELSE 0 END
) AS cat_dog_total
from (select JSON_EXTRACT_SCALAR(data, '$.cat.name') as cat_name
JSON_EXTRACT_SCALAR(data, '$.dog.name') as dog_name
from table
WHERE pet_store = 'london'
)
推荐阅读
- office-js - 如何将文本块添加到 Word 文档并监视对它的更改?
- c# - 如何在不同的解决方案之间共享 ac# 共享项目?
- mysql - 使用 SQL 查询和 Nagios 检查 Wordpress 上的评论
- android - 如何更改自定义软键盘的主题?
- python - 如果字符串中的关键字以非字母数字单词开始/结束或两者都匹配
- python-3.x - 使用python将apk文件转换为二进制文件
- scip - SCIP_NodeType 中值的含义
- flutter - 如何将我的 Hero-Widget-Page 插入到 BottomNavigationBar?
- javascript - 测试功能参数类型
- regex - 无法让我的 .htaccess 正则表达式按预期工作