如果可以「填滿」未包含在主表中的數據,我正在使用樞軸功能進行剝離。 我的表包含以下數據:SQL與非平衡數據樞軸
create table tmpData (objID INT, colID varchar(5), value varchar(50));
insert into tmpData (objId, colId, value) values(21, 'col1', 'a value');
insert into tmpData (objId, colId, value) values(21, 'col2', 'col2_1');
insert into tmpData (objId, colId, value) values(21, 'col2', 'col2_2_x'); -- a second 'value' for col_2
insert into tmpData (objId, colId, value) values(21, 'col3', 'col3_1');
insert into tmpData (objId, colId, value) values(22, 'col1', 'another value');
insert into tmpData (objId, colId, value) values(22, 'col2', 'col2_2');
insert into tmpData (objId, colId, value) values(22, 'col3', 'col3_2');
隨着旋轉功能
select
*
from (
select
objID
, colID
, value
from tmpData)
t
PIVOT (MAX(value) for colID in ([col1], [col2], [col3])) pivottable;
我COL2只得到一個(最大)值的ObjID = 21:
objID col1 col2 col3
21 a value col2_2_x col3_1
22 another value col2_2 col3_2
我喜歡什麼得到的是所有值並且填充了col1和col3中objID = 21的非給定數據:
objID col1 col2 col3
21 a value col2_2 col3_1
21 a value col2_2_x col3_1
22 another value col2_2 col3_2
這可能與樞軸功能或以其他方式? 提前 約爾格
哪些DBMS您使用更值?語法看起來像SQL Server。 –
最後是要爲SQL Server和ORACLE – DickerXXL