DECLARE @a TABLE(code varchar(20),name varchar(10),rate varchar(10))
insert @a SELECT 'TSTMO221130023','压力','100%'
UNION ALL SELECT 'TSTMO221130023','点开机','100%'
UNION ALL SELECT 'TSTMO221130023','DOS','100%'
UNION ALL SELECT 'TSTMO221130023','送检','100%'
UNION ALL SELECT 'TSTMO221130024','压力','100%'
UNION ALL SELECT 'TSTMO221130024','点开机','100%'
SELECT aa.code,aa.name,bb.rate FROM
(
SELECT * FROM
(SELECT DISTINCT code FROM @a ) a,
(SELECT 1 ORD,'DOS' NAME
UNION ALL SELECT 2,'压力'
UNION ALL SELECT 3,'点开机'
UNION ALL SELECT 4,'送检') b
) aa LEFT JOIN @a bb
ON aa.code = bb.code AND aa.name = bb.name
ORDER BY aa.code,aa.ord
增加一个工序表,工序表增加一个rank字段用于排序,然后连表查询,select * from 订单表 a inner join 工序表 b on a.工序名称=b.工序名称 order a.生成订单 b.rank