sql - 合并具有相同列值的行
问题描述
我有一个表,表中的数据存储了这样的东西
ITEM GROUP CHAR1 CHAR2 CHAR3
240-000199 2x_P3_CATALOG_VALUES_ATTGRP PWA (SMT+TH) M-R0027
240-000199 2x_P3_CATALOG_VALUES_ATTGRP IBIZA REFRESH
240-000199 Inventory Org LH1
240-000199 Inventory Org LS1
240-000199 Inventory Org CD1 ; LH1
我想获取这样的结果
ITEM GROUP CHAR1 CHAR2 CHAR3
240-000199 2x_P3_CATALOG_VALUES_ATTGRP PWA (SMT+TH) M-R0027 IBIZA REFRESH
240-000199 Inventory Org LH1
240-000199 Inventory Org LS1 CD1 ; LH1
或者它是否像这样显示并不重要
ITEM GROUP CHAR1 CHAR2 CHAR3
240-000199 2x_P3_CATALOG_VALUES_ATTGRP PWA (SMT+TH) M-R0027 IBIZA REFRESH
240-000199 Inventory Org LH1 CD1 ; LH1
240-000199 Inventory Org LS1 CD1 ; LH1
我想要的是根据 Group 和 item 进行分组并合并值为空的行
解决方案
我不确定这在 Oracle 中是否同样有效,但它适用于 SQL Server
Select Distinct T1.[Item], T1.[Group], T2.Char1, T3.char2, T4.Char3
from ItemsG T1
Left Outer Join ItemsG T2
on T1.Item = T2.Item and T1.[Group] = T2.[Group] and T2.char1 is Not null
Left Outer Join ItemsG T3
on T1.Item = T3.Item and T1.[Group] = T3.[Group] and T3.char2 is not null
Left Outer Join ItemsG T4
on T1.Item = T4.Item and T1.[Group]= T4.[Group] and T4.char3 is not null
推荐阅读
- python - 根据其他数据框的条件提取数据框的元素
- ruby-on-rails - Rails 应用程序在应该处于暂存模式时进入生产模式
- git - 有没有办法只合并 git 中的子目录?
- python - Lambda 排除包含字符串列表的值
- jupyter-notebook - 在运行任何代码后,是否有一个 Jupyter 代码可以用来“停止”Sagemaker 上的笔记本实例?
- ruby - 如何从 rake 调用类的包含模块函数?
- java - 我应该使用这两种方法中的哪一种来正确停止计划的线程?
- android - 在另一个动态recyclerview中添加recyclerview中的动态数据
- r - 如何在R中绑定不同长度的向量?
- android - 如何将注释应用于 Koin 模块依赖声明?