c# - MSSQL 查询省略特定行值?

标签 c# sql-server

我有以下查询来根据客户 ID 检索客户销售报告。它可以工作,但是我怎样才能省略重复的客户名称呢?

select Cu.CustomerName, Cu.City, pd.pname, 
Cs.qty, Cs.totalAmount, Cs.payed, Cs.credit, Cs.CreditEndDate
from Customer Cu 
inner join CreditSales Cs on Cu.ID=Cs.CustomerID
left join Product pd on pd.pid=Cs.pid
where Cu.ID=6
order by Cu.CustomerName

结果是:

+--------+-------+---------------+----+----------+----------+----------+------------+
| Halima | Jimma | Mouse         |  1 | 345.00   | 345.00   | 0.00     | 2015-08-29 |
| Halima | Jimma | Mobile        | 10 | 92000.00 | 40000.00 | 52000.00 | 2015-08-23 |
| Halima | Jimma | Iphone        |  2 | 13800.00 | 6500.00  | 7300.00  | 2015-08-28 |
| Halima | Jimma | Tape Recorder | 10 | 5175.00  | 4000.00  | 1175.00  | 2015-10-30 |
+--------+-------+---------------+----+----------+----------+----------+------------+

但我需要这样:

+--------+-------+---------------+----+----------+----------+----------+------------+
| Halima | Jimma | Mouse         |  1 | 345.00   | 345.00   | 0.00     | 2015-08-29 |
|        | Jimma | Mobile        | 10 | 92000.00 | 40000.00 | 52000.00 | 2015-08-23 |
|        | Jimma | Iphone        |  2 | 13800.00 | 6500.00  | 7300.00  | 2015-08-28 |
|        | Jimma | Tape Recorder | 10 | 5175.00  | 4000.00  | 1175.00  | 2015-10-30 |
+--------+-------+---------------+----+----------+----------+----------+------------+

这意味着客户名称应仅显示一个实例。

有什么帮助吗?提前致谢。

最佳答案

根据 Milen Pavlov 的回复,您可以尝试以下操作:

SELECT CASE WHEN ROW_NUMBER() over (partition by [CustomerName] order by [CustomerName]) = 1 THEN [CustomerName] ELSE '' END
FROM Customer 
ORDER BY [CustomerName]

关于c# - MSSQL 查询省略特定行值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32251320/

相关文章:

sql - 如何让一行始终显示(使用一个 View )

c# - 模拟 protected 方法总是返回 true

c# - Powerpoint 到文本 C# - Microsoft.Interop

sql-server - SQL Server 动态重置运行余额

.net - 在 SQL Server 中,SESSIONPROPERTY 和 @@Options 之间有什么区别?

sql-server - SQL Group By - 从单列生成多个聚合列

sql-server - SQL Server 触发器 - 按事务分组

c# - Cache.Insert 的委托(delegate)

c# - .Net 的 Linq/IEnumerable 中 CAR 和 CDR 的扩展方法等价物

c# - 返回后代类的程序集版本的属性