首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用SQL从行中的值创建列

使用SQL从行中的值创建列
EN

Stack Overflow用户
提问于 2019-05-22 07:11:10
回答 1查看 85关注 0票数 2

有人能帮我用sql连接两个表吗?在连接之后,行应该显示为列,如下所示。

我有两张表T1和T2

T1
------------
Id.  Name  date
--------------
1    AAA    2019-05-06
2    BBB    2019-05-06



T2
---------------
Id.  attr_name. attr_value. date
--------------------
1 .   PP0         8       2019-05-06    
1 .   PD0        125.00     2019-05-06
1     PP1         2         2019-05-06
1     PD1        150.00      2019-05-06
3     PP0         5         2019-05-06
3     PD1        50.00      2019-05-06

如果有PP0,就会有对应的PD0

My output should be
---------------------
Id    Name       attr_pp_name     attr_pp_value.  attr_pd_name     attr_pd_value
1     AAA          PP0                  8               PD0          125.00
1.    AAA          PP1                  2               PD1          150.00

我尝试了下面的查询

select t.Id, t.name ea.attr_name ,ea.attr_value, ea1.attr_name, ea1.attr_value from T1 t
INNER JOIN T2 ea ON t.id = ea.id AND ea.attr_name IN ('PP0', 'PP1')
INNER JOIN T2 ea1 ON t.id = ea.id AND ea.attr_name IN ('PD0', 'PD1');

但是上面的查询给出了重复的结果,如

Id    Name       attr_pp_name     attr_pp_value.  attr_pd_name     attr_pd_value
1     AAA          PP0                  8               PD0          125.00
1.    AAA          PP1                  2               PD1          150.00
1     AAA          PP0                  2               PD1          150.00
1.    AAA          PP1                  8               PD0          125.00
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56247387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档