表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:借助外键将多行合并到一行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)