2017-03-07 93 views
0
ID  | Number | UID         | Flag1 | Flag2 
12345 | 5733  | ed2006eb-2340-405e-afec-2b5b4a99ce8a | NULL | NULL 
78945 | 599  | f3a784b5-559c-415d-824e-2a55fe2175af | NULL | NULL 
+1

使用此''

事情。 –

+1

您是否使用特定类型的后端框架?请包括更多关于您正在使用的内容的信息,以及您是否尝试过某些内容。 –

+0

我正在尝试为此SQL Server结果构建一个HTML代码。 – jito

回答

0

通过了解表HTML格式的结构: -

<table > 
    <tr> 
    <th></th> 
    <th></th> 
    <th></th> 
    <!--... etc th /--> 
    </tr> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    <!--... etc/--> 
    </tr> 
    <!-- 

    ...etc tr/ 

    --> 
</table> 

,并通过由FOR XMLPath模式检索SQL查询作为XML的正式结果,你可以达到你所需要的。

演示: -

CREATE TABLE #Temp 
( 
    EmployeeID int, 
    EmployeeName varchar(128), 
    Salary int, 
    City varchar(128) 
) 


INSERT INTO #Temp 
SELECT 1,'Ahmed Abdelqader',2000,'Egypt' 
UNION ALL 
SELECT 2,'Johen Mark',3000,'France' 
UNION ALL 
SELECT 3,'jito Delfi',4000,'England' 


DECLARE @xml NVARCHAR(MAX) 
DECLARE @body NVARCHAR(MAX) 


SET @xml = CAST((SELECT EmployeeID AS 'td','',EmployeeName AS 'td','', 
     Salary AS 'td','', City AS 'td' 
FROM #Temp ORDER BY EmployeeID 
FOR XML PATH('tr'), ELEMENTS) AS NVARCHAR(MAX)) 


SET @body ='<html><body> 
<table border = 1> 
<tr> 
<th> EmployeeID </th> <th> EmployeeName </th> <th> Salary </th> <th> City </th></tr>'  


SET @body = @body + @xml +'</table></body></html>' 

select @body 

Drop TABLE #Temp 

结果: -

<html><body> <table border = 1> <tr> <th> EmployeeID </th> <th> EmployeeName </th> <th> Salary </th> <th> City </th></tr><tr><td>1</td><td>Ahmed Abdelqader</td><td>2000</td><td>Egypt</td></tr><tr><td>2</td><td>Johen Mark</td><td>3000</td><td>France</td></tr><tr><td>3</td><td>jito Delfi</td><td>4000</td><td>England</td></tr></table></body></html>

+0

非常感谢。 – jito

+0

@jito,plz如果我的回答回答了您的问题,请将其标记为已接受,并且您也可以对其进行投票。 –

+1

虽然这个答案可能很好地工作,但我不确定用SQL查询来促进嵌入HTML是个好主意。尽管如此,我想这取决于OP的要求......目前尚不清楚。 –