Oracle SQL View:借助外键将多行合并到一行

Oracle SQL View:借助外键将多行合并到一行,第1张

概述我有两张桌子: 表A: pk_id,value 表B: pk_id,key,value,fk_id 例如 表a: 1, value 例如表b: 1, key1, value1, 12, key2, value2, 13, key3, value3, 1 等等,不可能用所有键定义一个表,因为我们从另一个应用程序获取数据并且它并不总是相同并且必然会发生变化. 我需要的是一个视图(或者如果可 我有两张桌子:

表A:

pk_ID,value

表B:

pk_ID,key,value,fk_ID

例如
表a:

1,value

例如表b:

1,key1,value1,12,key2,value2,13,key3,value3,1

等等,不可能用所有键定义一个表,因为我们从另一个应用程序获取数据并且它并不总是相同并且必然会发生变化.

我需要的是一个视图(或者如果可能通过其他方式,我也不介意)显示如下数据:

ID,key31,value3

所以与表A中的一行连接的所有内容都显示在一行中.从表B中定义应该在视图中显示的键是可能的.

提前致谢.

解决方法 试试这个查询.这会对你有所帮助.

SELECT a.pk_ID,a.value,MAX(CASE WHEN b.key='key1' THEN b.value ELSE '0' END) AS key1,MAX(CASE WHEN b.key='key2' THEN b.value ELSE '0' END) AS key2,MAX(CASE WHEN b.key='key3' THEN b.value ELSE '0' END) AS key3FROM table_b b left OUTER JOIN table_a a on a.pk_ID = b.fk_IDGROUP BY b.fk_ID,a.pk_ID,a.valueORDER BY b.fk_ID ASC
总结

以上是内存溢出为你收集整理的Oracle SQL View:借助外键将多行合并到一行全部内容,希望文章能够帮你解决Oracle SQL View:借助外键将多行合并到一行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存