Попробуйте это так:
Сначала таблица макетов (Пожалуйста, сделайте это самостоятельно в следующий раз):
DECLARE @tbl TABLE(Id INT,ProductName VARCHAR(100),Price DECIMAL(10,4),Size VARCHAR(10));
INSERT INTO @tbl VALUES
(1,'T-Shirt',1000,'M')
,(2,'Jeans',1800,'L');
В запросе будет использоваться FOR XML PATH
, который обеспечивает наивысший контроль над именами XML
SELECT 'row' AS [@class]
,t.Id AS [@Id]
,t.Size AS [@size]
,'cell' AS [div/@class]
,t.ProductName AS [div]
,''
,'cell' AS [div/@class]
,t.Price AS [div]
FROM @tbl t
FOR XML PATH('div');
Результат:
<div class="row" Id="1" size="M">
<div class="cell">T-Shirt</div>
<div class="cell">1000.0000</div>
</div>
<div class="row" Id="2" size="L">
<div class="cell">Jeans</div>
<div class="cell">1800.0000</div>
</div>
Подсказка1: нам нужен пустой ,''
в середине, чтобы начать новый <div>
элемент.В противном случае механизм выдаст ошибку.
Подсказка2: типичная HTML-таблица может быть построена с использованием некоторого XQuery