【发布时间】:2015-09-24 15:50:03
【问题描述】:
对于我的一个项目,我面临一个独特的问题
当前表输出:
CaseKey CustomField Fruits Electronics Sports
1 10320 Apples null null
1 10864 null Laptops null
1 10471 null null cricket
2 10320 Oranges null null
2 10864 null TV null
2 10471 null null baseball
我想要的表结构是按 CaseKey 分组
CaseKey Fruits Electronics Sports
1 Apples Laptops Cricket
2 Oranges TV BaseBall
当前查询:
select j.pkey as CaseKey,cfv.customfield,
(CASE
WHEN cfv.customfield=10320
THEN cfv.customvalue
END) Fruits,
(CASE
WHEN cfv.customfield=10864
THEN cfv.customvalue
END) AS Electronics,
(
CASE
WHEN cfv.customfield=10310
THEN cfv.customvalue
END)Sports,
from
basetable j
left join customfieldvalue cfv on j.id=cfv.issue
and cfv.customfield in (10320,10864,10471)
-- group by j.id
表结构:基表
ID CaseKey
4000 1
4001 2
自定义字段值
ID ISSUE CUSTOMFIELD CUSTOMVALUE
1 4000 10320 Apples
2 4000 10864 Laptops
3 4000 10471 Cricket
4 4001 10320 Oranges
5 4001 10864 TV
6 4001 10471 BaseBall
你能告诉我如何达到这个结果吗?我想在 Tableau 中将这个查询作为 CustomSQL 运行,所以不确定动态 SQL、存储过程等高级 SQL 是否可以在那里工作。寻找可以实现此结果的传统 SQL。
【问题讨论】:
-
你能分享一下你的表结构吗?或者为它创建一个 sql fiddle。
-
嗨@SureshKamrushi:我添加了结构。你能帮忙吗