WEB开发网
开发学院数据库MSSQL Server SQL Server2005杂谈(4):在SQL Server2005中按列... 阅读

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

 2009-02-21 10:22:27 来源:WEB开发网   
核心提示: selectxh,(value1+value2+value3++value10)asvaluefromt_table但这种方法至少有如下三个缺陷:1.需要修改表结构,这对于已经进行很长时间或是已经上线的项目产不适用2.对每一个xh字段的value取值数有限制,SQL Server2005杂

selectxh,(value1+value2+value3+ +value10)asvaluefromt_table

但这种方法至少有如下三个缺陷:

1.需要修改表结构,这对于已经进行很长时间或是已经上线的项目产不适用

2.对每一个xh字段的value取值数有限制,如果太多,就得建立很多字段。这样性能会降低。

3.这样做虽然查询容易,但如果需要对每一个xh的不同值频繁修改或加入新的值时,如果把它们都放到一行,容易因为行锁而降低性能。

二、动态生成select语句

让我们先看三条SQL语句:

selectxh,valueasth1fromt_tablewhereth=1
selectxh,valueasth2fromt_tablewhereth=2
selectxh,valueasth3fromt_tablewhereth=3

这三条语句分别使用th字段按着所有th可能的值来查询t_table,这三条SQL语句所查询出来的记录如图3所示。

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

图 3

然后再使用下面的语句按着xh分组:

selectxhfromt_tablegroupbyxh

得到的结果如图4所示。

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

上一页  1 2 3 4 5 6  下一页

Tags:SQL Server 杂谈

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接