2023-05-09 18:21:47 +00:00

98 lines
2.8 KiB
SQL

SELECT * FROM (
SELECT FormatID,Name,ParentID
,isnull(v.value('Font[1]/@Family', 'varchar(100)'),'*') AS [MyFont]
,v.value('@Index', 'Int') AS [MyIndex]
From Formats
CROSS APPLY Data.nodes('//Step') TempXML(v)
) AS SRC
PIVOT( Max(MyFont) FOR MyIndex IN (
[0], [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],
[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],
[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],
[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],
[41],[42],[43],[44],[45],[46]
)) AS PVT1 Order by FormatID
SELECT * FROM (
SELECT FormatID,Name,ParentID
,isnull(v.value('Font[1]/@Size', 'varchar(100)'),'*') AS [MyFont]
,v.value('@Index', 'Int') AS [MyIndex]
From Formats
CROSS APPLY Data.nodes('//Step') TempXML(v)
) AS SRC
PIVOT( Max(MyFont) FOR MyIndex IN (
[0], [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],
[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],
[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],
[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],
[41],[42],[43],[44],[45],[46]
)) AS PVT1 Order by FormatID
SELECT * FROM (
SELECT FormatID,Name,ParentID
,isnull(v.value('Font[1]/@Style', 'varchar(100)'),'*') AS [MyFont]
,v.value('@Index', 'Int') AS [MyIndex]
From Formats
CROSS APPLY Data.nodes('//Step') TempXML(v)
) AS SRC
PIVOT( Max(MyFont) FOR MyIndex IN (
[0], [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],
[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],
[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],
[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],
[41],[42],[43],[44],[45],[46]
)) AS PVT1 Order by FormatID
SELECT v.value('@Index', 'Int') AS [MyIndex]
,v.value('@Type', 'varchar(100)') AS [MyType]
,v.value('@ParentType', 'varchar(100)') AS [MyParent]
From Formats
CROSS APPLY Data.nodes('//Step') TempXML(v)
WHERE FormatID=1
SELECT MyFont,Count(*) HowMany FROM (
SELECT v.value('../@Family', 'varchar(100)') MyFont
From Formats
CROSS APPLY Data.nodes('//Step/Font') TempXML(v)) T1
group by MyFont
order by MyFont
SELECT MySize,Count(*) HowMany FROM (
SELECT v.value('../@Size', 'varchar(100)') MySize
From Formats
CROSS APPLY Data.nodes('//Step/Font') TempXML(v)) T1
group by MySize
order by MySize
SELECT MyStyle,Count(*) HowMany FROM (
SELECT v.value('../@Style', 'varchar(100)') MyStyle
From Formats
CROSS APPLY Data.nodes('//Step/Font') TempXML(v)) T1
group by MyStyle
order by MyStyle
SELECT MyFont,Count(*) HowMany FROM (
SELECT v.value('@Family', 'varchar(100)') MyFont
From Formats
CROSS APPLY Data.nodes('//Font') TempXML(v)) T1
group by MyFont
order by MyFont
SELECT MySize,Count(*) HowMany FROM (
SELECT v.value('@Size', 'varchar(100)') MySize
From Formats
CROSS APPLY Data.nodes('//Font') TempXML(v)) T1
group by MySize
order by MySize
SELECT MyStyle,Count(*) HowMany FROM (
SELECT v.value('@Style', 'varchar(100)') MyStyle
From Formats
CROSS APPLY Data.nodes('//Font') TempXML(v)) T1
group by MyStyle
order by MyStyle