日期:2014-05-17  浏览次数:20394 次

这样的结果如何实现?大神快来呀
数据如下
表A:
MB001     MB002      MB003
TRP997     1      PMP1V-20-XX
TRP997     2      PMP1V-20-XX
TRP997     3      51154-XX
TRP997     4      51154-XX
TRB999     1      10-61292-X
TRB999     2      10-61292-X
TRB999     3      940732
TRB999     4      961627

结果:
MB001     MB002      MB003
TRP997     1      PMP1V-20-XX
TRP997     2      51154-XX
TRB999     1      10-61292-X
TRB999     2      940732
TRB999     3      961627

求大神解析


------解决方案--------------------
CREATE TABLE #tab(MB001 VARCHAR(50),MB002 INT,MB003 VARCHAR(50))
INSERT INTO #tab
select 'TRP997',     1,      'PMP1V-20-XX' UNION ALL
select 'TRP997',     2,      'PMP1V-20-XX' UNION ALL
select 'TRP997',     3,      '51154-XX' UNION ALL
select 'TRP997',     4,      '51154-XX' UNION ALL
select 'TRB999',     1,      '10-61292-X' UNION ALL
select 'TRB999',     2,      '10-61292-X' UNION ALL
select 'TRB999',     3,      '940732' UNION ALL
select 'TRB999',     4,      '961627'

SELECT MB001,
ROW_NUMBER()OVER(PARTITION BY mb001 ORDER BY MB001)MB002,
MB003 FROM (
SELECT ROW_NUMBER()OVER(PARTITION BY mb003 ORDER BY MB001)id,* FROM #tab
) a WHERE id=1
ORDER BY a.MB001 desc


MB001