distinct name根据name去找等于这个name的记录个数 n rowspan = "n"
下面sql语句执行即可看到效果,细节自己修改,不过建议还是在后台拼接html代码(顶楼上) declare @table table(name varchar(20),unit varchar(20),price numeric(12,2)) insert @table select '商品1','TON',120.00 UNION ALL select '商品1','CBM',300.00 UNION ALL select '商品2','TON',200.00 --select * from @table Declare @result varchar(500) set @result='<table>' Declare @name varchar(20),@unit varchar(20),@price decimal(18,2) Declare table_Cursor Cursor For Select name,unit,price From @table Open table_Cursor Fetch Next From table_Cursor Into @name,@unit,@price WHILE @@FETCH_STATUS = 0 BEGIN set @result=@result+' <tr> <td rowspan="2">'+@name+'</td> <td>'+@unit+'</td> <td>'+Convert(varchar(18),@price)+'</td> </tr>' FETCH NEXT FROM table_Cursor INTO @name,@unit,@price
END CLOSE table_Cursor DEALLOCATE table_Cursor set @result=@result+'<table>' print @result
declare @table table(name varchar(20),unit varchar(20),price numeric(12,2))
insert @table
select '商品1','TON',120.00 UNION ALL
select '商品1','CBM',300.00 UNION ALL
select '商品2','TON',200.00 --select * from @table
Declare @result varchar(500)
set @result='<table>'
Declare @name varchar(20),@unit varchar(20),@price decimal(18,2)
Declare table_Cursor Cursor
For Select name,unit,price From @table
Open table_Cursor
Fetch Next From table_Cursor
Into @name,@unit,@price
WHILE @@FETCH_STATUS = 0
BEGIN set @result=@result+'
<tr>
<td rowspan="2">'+@name+'</td>
<td>'+@unit+'</td>
<td>'+Convert(varchar(18),@price)+'</td>
</tr>' FETCH NEXT FROM table_Cursor
INTO @name,@unit,@price
END
CLOSE table_Cursor
DEALLOCATE table_Cursor
set @result=@result+'<table>'
print @result