我的 SQL Server 数据库中有几列,如下所示:
Column1 Column2
Item1 <div id="html"><img.............>5424</div>
Item2 <div id="html"><img.............>3424</div>
Item3 <div id="html"><img.............>8424</div>
Item4 <div id="html"><img.............>6424</div>
我想根据 >*</div>
内部的值使用 ORDER BY 对它们重新排序,这样输出看起来像这样:
Column1 Column2
Item2 <div id="html"><img.............>3424</div>
Item1 <div id="html"><img.............>5424</div>
Item4 <div id="html"><img.............>6424</div>
Item3 <div id="html"><img.............>8424</div>
我使用以下代码从数据库中提取值:
SELECT
Table1_1.F1 AS Column1, Table2_1.1PrisHTML AS Column2
FROM
Table2 AS Table2_1
CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT
Table1_1.L1, Table2_1.2PrisHTML
FROM
Table2 AS Table2_1
CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT
Table1_1.M1, Table2_1.3PrisHTML
FROM
Table2 AS Table2_1
CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT
Table1_1.T1, Table2_1.4PrisHTML
FROM
Table2 AS Table2_1
CROSS JOIN
Table1 AS Table1_1
有人有什么建议吗?
编辑:
我确实将值放在一个单独的列中,称为 Column3
我可以用它来排序。但我不想显示此栏。有什么建议吗?
最佳答案
只需在 SQL 查询末尾添加一个 Order By
子句即可。无需将其添加到选择查询中。
我会这样做:
SELECT Column1, Column2
FROM
(
SELECT Table1_1.F1 AS Column1, Table2_1.1PrisHTML AS Column2, Column3
FROM Table2 AS Table2_1 CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT Table1_1.L1 AS Column1, Table2_1.2PrisHTML AS Column2, Column3
FROM Table2 AS Table2_1 CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT Table1_1.M1 AS Column1, Table2_1.3PrisHTML AS Column2, Column3
FROM Table2 AS Table2_1 CROSS JOIN
Table1 AS Table1_1
UNION ALL
SELECT Table1_1.T1 AS Column1, Table2_1.4PrisHTML AS Column2, Column3
FROM Table2 AS Table2_1 CROSS JOIN
Table1 AS Table1_1
)
ORDER BY Column3
关于c# - 当 Microsoft SQL Server 中包含 html 标签时对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558608/