sql - SQL - 来自同一个表的多个值(多对一)
问题描述
我正在尝试编写一个查询,该查询将返回一个表中的值,这些值在行中作为列(多对一)。我正在使用 Oracle SQL Developer。例如:
Table1 = WI
Table2 = VAL
Key = File
WI 表有主记录。VAL 表对主记录中的每个字段都有一个单独的行。
WI
File1 | Type | Date
File2 | Type | Date
VAL
File1 | Field1 | Value
File1 | Field2 | Value
File1 | Field3 | Value
File2 | Field1 | Value
File2 | Field3 | Value
我期待回归:
WI.File1 | WI.Type | VAL.Value (Field1) | VAL.Value (Field2) | VAL.Value (Field3)
我不想排除 VAL 中为 Null 的记录。表之间始终存在文件到文件的关系。如果记录中未使用该值,则该字段将不在 VAL 中。
所以用值重新审视上面的布局:
WI
File1 | New | 09/12/2019
File2 | Old | 09/10/2019
VAL
File1 | Amount | 10
File1 | Process| Yes
File1 | Name | Matt
File2 | Amount | 15
File2 | Name | Tom
期望的结果:
File | Type | Amount | Process | Name
-----------------------------------------
File1 | New |10 | Yes | Matt
File2 | Old |15 | | Tom
我怎样才能得到我想要的结果?
解决方案
推荐阅读
- python - 在 seaborn stripplot 中添加色调类别标签
- c++ - C++:将对象引用作为参数传递会出错:没有匹配的函数用于调用 class::function()
- excel - 将宏作为带有自定义功能区按钮的插件部署到整个办公室
- c++ - 为什么我的 for 循环不能找到正确的错误?
- javascript - ngx-mapbox-gl Mapbox GL Popup 带有要素图层而不是标记
- mongodb - 如何从 laravel mongodb jessenger 的关系集合表中选择特定列
- python - 为什么我的程序不断抛出索引超出范围错误?
- python - 为什么 cross_val_predict 不适合测量泛化误差?
- ruby - 通过 rspec 测试
- c - int a=65; printf("%c", a); 在 GCC 中使用 c 语言工作?