sql - SQL 在应该拉取值时拉取 null
问题描述
我以前有这个工作,我无法弄清楚它发生了什么,它不会显示 Q4 和 Q5 列的真实值。
此查询正在提取调查数据,并且 Q4 和 Q5 的所有行都为空。Q1-Q3 的数据正确显示。
这是我的查询:
DECLARE @start as datetime2(0) = '2021-01-01'
SELECT
MAX(IIF(metric.name = 'Q1' AND survey.sr_actual_value BETWEEN 1 AND 5, survey.sr_actual_value, NULL)) AS Q1,
MAX(IIF(metric.name = 'Q2' AND survey.sr_actual_value BETWEEN 1 AND 5, survey.sr_actual_value, NULL)) AS Q2,
MAX(IIF(metric.name = 'Q3' AND survey.sr_actual_value BETWEEN 1 AND 5, survey.sr_actual_value, NULL)) AS Q3,
MAX(IIF(metric.name = 'Q4' AND survey.sr_actual_value BETWEEN 1 AND 5, survey.sr_actual_value, NULL)) AS Q4,
MAX(IIF(metric.name = 'Q5' AND survey.sr_actual_value BETWEEN 1 AND 5, survey.sr_actual_value, NULL)) AS Q5,
MAX(IIF(metric.name = 'Q6', survey.sr_string_value, NULL)) AS Comment,
MAX(survey.si_taken_on) as Taken,
MAX(ims.number) as [Number],
MAX(ims.sys_id) as sys_id,
MAX(tech.name) AS Tech,
MAX(man.first_name) AS Manager,
MAX(cust.name) AS Customer,
CASE
WHEN MAX(awi.queue) = 'b63d965cdbb05454586593a6f4961968' THEN 'SS'
WHEN MAX(awi.queue) = '67e1f6cbdb9298548fd6695e1396199c' THEN 'Chat'
ELSE NULL
END as [Group]
FROM [v2_sn].[u_interaction_survey_reporting] as survey
LEFT JOIN v2_sn.sys_user as cust on cust.sys_id = survey.si_user
LEFT JOIN v2_sn.asmt_metric as metric on metric.sys_id = survey.sr_metric
LEFT JOIN v2_sn.interaction as ims on ims.sys_id = survey.inter_sys_id
LEFT JOIN v2_sn.sys_user as tech on tech.sys_id = ims.assigned_to
LEFT JOIN v2_sn.sys_user as man on man.sys_id = tech.manager
left join v2_sn.awa_work_item as awi on awi.document_id = ims.sys_id
WHERE survey.si_taken_on >= @start
and metric.name in ('Q1','Q2','Q3','Q4''Q5','Q6')
and survey.si_metric_type = '1c4f20afdbc614103779a6dc139619c9'
and awi.queue in ('b63d965cdbb05454586593a6f4961968', '67e1f6cbdb9298548fd6695e1396199c')
GROUP BY survey.si_sys_id
就像我说的,它以前工作过。我尝试更改日期以查看是否是 2021 年的问题,但没有帮助。我确认数据库有 Q4 和 Q5 数据并且它不应该为 NULL。有谁知道这里发生了什么?任何帮助,将不胜感激。如果您需要更多信息或有任何疑问,请不要犹豫。
解决方案
您在 . 中缺少一个逗号and metric.name in ('Q1','Q2','Q3','Q4''Q5','Q6')
。没有指标名称等于文字字符串Q4''Q5
推荐阅读
- typo3 - 在我自己的流体扩展中编辑默认 login.html felogin 插件
- c++ - 如何在 TTree:ROOT 的一个分支中找到 μ 子的数量
- android - 如何处理 RxKotlin + Graphql 上的错误
- vaadin - Vaadin Flow 14 中网格中过滤项目的简单示例
- javascript - 保存后如何直接打开下一个模态?
- python - python为*args和**kwargs创建一个自动__init__的元类
- java - 动态 Web 项目 (Eclipse) 中的 java.lang.UnsupportedClassVersionError
- r - 在R中的多个特定单词之间提取一串单词
- android - 加密内容的文件共享
- laravel - 在查询中使用 groupBy() 时如何在刀片视图中显示 Laravel 关系数据