0

次のようなテーブルがあります。

create table testjob
(
  jobid int,  
  jobname varchar(100),  
  time float,  
  name varchar(50)  
)

そのテーブルのサンプルデータ:

insert into testjob values ( 1001,'java work',4.5,'arjun')   
insert into testjob values ( 1005,'sql work',10,'arjun')  
insert into testjob values ( 1010,'.net work',7.5,'arjun')  
insert into testjob values ( 1040,'java work',5.5,'ravi')  
insert into testjob values ( 1023,'php work',2.5,'arjun')  
insert into testjob values ( 1027,'.net work',3.5,'ravi')

出力が次のようにhtml形式で次のようになるようにプロシージャを作成したい

select * from testjob と書きますが、ストアドプロシージャなどを使って出力をhtmlで表示したいです

Name    Jobname     Time

arjun   Javawork     4.5  
arjun   sql work     10  
arjun   .net work    7.5  
ravi     java work   5.5   
arjun    php work    2.5  
ravi     .net work   3.5  
4

1 に答える 1

0

これで、バニラテーブル/ tr/td形式のデータが返されます。

select
    '<table>'+
    (
    select '<tr><td>'+name+'</td><td>'+jobname+'</td><td>'+cast(time as varchar(10))+'</td>'
    from testjob
    for xml path(''),root('a'),type
    ).value('(/a)[1]','nvarchar(max)')
    +'</table>';

ここで、行の特定の順序が必要な場合は、FORXML行のORDER BY前にを追加します。

于 2012-10-05T04:59:51.267 に答える