哎,积分剩下最后点了,好寒酸,有多的会以后给大空补上

有如下情况,有一张玻璃订单表GlassA,分颜色,厚度,平弯三大属性:
G01(唯一条码) G02(规格) G03(颜色) G04(厚度) G05(平弯)
--------------------------------------------------------------
8001 100*200*8 白色 8mm w
8002 200*300*10 灰色 10mm P
8003 120*200*8 蓝色 8mm w
8004 200*400*6 白色 6mm P
8005 190*600*8 白色 8mm P
8006 300*500*8 白色 8mm P
8007 300*500*10 灰色 10mm P
8008 300*500*8 白色 8mm P
8009 160*450*8 白色 6mm P
...
求解:想把这张订单里的玻璃按【颜色,厚度,平弯】优先级顺序三大属性分开提取显示出来,
【颜色】排完后再按【厚度】,厚度排完后再按【平弯】
订单类似于排列组合,把相同或者相近的尽量排在一起,比如上表中应该得到如下三个查询结果集:
数据集1:
8001 100*200*8 白色 8mm w
8005 190*600*8 白色 8mm P
8006 300*500*8 白色 8mm P
8008 300*500*8 白色 8mm P
8004 200*400*6 白色 6mm P
8009 160*450*8 白色 6mm P
数据集2:
8002 200*300*10 灰色 10mm P
8007 300*500*10 灰色 10mm P
数据集3:
8003 120*200*8 蓝色 8mm w
------解决思路----------------------
SELECT * FROM TB
ORDER BY G03,G04,G01
------解决思路----------------------
--参考下:
select G01 唯一条码,G02 规格,G03 颜色,G04 厚度,G05 平弯 from GlassA
where G03='白色' --分别换成'灰色'和蓝色即可
order by G03,G04,G05
------解决思路----------------------
--试试
select * into tb1 from --tb1分别换成tb2,tb3
(select top 6 G01 唯一条码,G02 规格,G03 颜色,G04 厚度,G05 平弯 from GlassA
where G03='白色' --分别换成'灰色','蓝色'即可
order by G03,G04,G05)t