c# - 当 Microsoft SQL Server 中包含 html 标签时对列进行排序

标签 c# asp.net sql sql-server database

我的 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/

相关文章:

c# - 如何在 javaScript 中添加 C# 字符串作为文本弹出窗口

c# - 将程序集加载到当前域的正确方法

c# - javascript切换背景图片

mysql - SQL中如何添加主键?

c# - 将 C 代码移植到 C#。指针的问题

c# - 从 XAML 中的另一个源文件引用单击方法?

c# - ASP.NET 编译错误(无法调用代码隐藏文件中的方法)

c# - 在 ASP.NET MVC 中对 Post 请求执行代码

mysql - 计算多个值的不同行数

sql - Ansi SQL 类型转换