sql - 如何返回重复值的空单元格并仅保留不同的单元格?

标签 sql sql-server sql-server-2005 select

我有一个查询,它从表中选择一些要显示的字段

SELECT Field1, Field2, Field3, Field4 FROM table1

我想要而不是返回:

alt text http://img186.imageshack.us/img186/3455/87921605.png

返回:

alt text http://img227.imageshack.us/img227/3921/85722509.png

如何修改 SQL 语句以返回第二个数字? 或者至少如何更改 .Net 的 gridview 属性来做到这一点(如果可能的话)?

最佳答案

您可以使用公用表表达式 (WITH)、自联接以及 ROW_NUMBERNULLIF 函数来完成此操作。

WITH t AS (SELECT *, ROW_NUMBER() OVER (ORDER BY Field1) rownum FROM table1)
SELECT NULLIF(curr.Field1, prev.Field1) Field1,
       NULLIF(curr.Field2, prev.Field2) Field2,
       NULLIF(curr.Field3, prev.Field3) Field3
FROM t curr
LEFT OUTER JOIN t prev ON prev.rownum = curr.rownum - 1

关于sql - 如何返回重复值的空单元格并仅保留不同的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744064/

相关文章:

mysql - 需要缺席和出席人数以及月份名称

mysql - 在这种情况下 OR 和 UNION ALL 之间的区别

mysql - SQL 查询 - 拆分字段中的字符串,扩展行以便它们包含子字符串

sql - 如何使用 sql server management studio 将 blob 插入数据库

sql - 获取 SQL Server 中某列具有最大值的行

sql-server-2005 - SQL 2005 - 快速复制数据库+数据的快速方法

sql - 我可以使用别名作为过滤器吗? T-SQL 2012

sql-server - Perl ADO 认为存储过程中的打印输出是错误!

mysql - 将 ruby​​ on rails 应用程序的数据库从 sql server 转换为 mysql

sql - 为什么要在数据库中创建 View ?