2012-10-05 150 views
0

以HTML格式顯示的表我有一個表是這樣的:在該表中SQL查詢使用SQL Server

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格式,如下面的那樣在sql

我們將寫select *從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 
+1

SQL Server是關於存儲和提取數據 - 格式爲HTML是**不是** SQL Server的工作。讓SQL Server返回頁面所需的**數據**,然後讓HTML部分(ASP.NET或任何您使用的)執行HTML格式。 –

+0

你爲什麼要在SQL中格式化數據?將數據返回給您的應用程序並讓它對格式進行分類會更好。如果你確實需要一些從SQL格式化的東西,你可以試試FOR XML AUTO – Greg

+0

@marc我認爲你不直接從SQL Server發送HTML格式的電子郵件,然後 – RichardTheKiwi

回答

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>'; 

,如果你想行的一些具體排序,你會之前FOR XML行添加ORDER BY