【发布时间】:2013-01-11 17:28:03
【问题描述】:
我已经浪费了整整 2 天的时间来尝试解决这个问题,现在我疯了,我需要紧急帮助, 问题是, 我必须要桌子
表:销售额,SalesId 为 primary key
---------------------------------------------------
SalesId | SalesDate | Customer| Discount | Remarks
---------------------------------------------------
1 | 01/01/2012| John | 15 | NULL
2 | 01/01/2012| Peter | 25 | NULL
3 | 01/01/2012| Micheal | 35 | NULL
表:SalesBody,SerialNo 是 primary key,SalesId 是 foreign key
---------------------------------------------------
SerialNo | SalesId | Product | Quantity | Rate
---------------------------------------------------
10 | 1 | Pencil | 18 | 20
11 | 1 | pen | 200 | 60
12 | 1 | Rubber | 150 | 10
13 | 1 | Paper | 500 | 2
14 | 2 | Mouse | 15 | 190
15 | 2 | KeyBoard | 10 | 600
16 | 2 | Monitor | 5 | 2000
17 | 3 | Mobile | 2 | 15000
现在我想做一个查询,可以得到如下结果
----------------------------------------------------------------------------
SalesId | SalesDate | Details | Amount
----------------------------------------------------------------------------
1 | 01/01/2012 | Sold: Pencil x 18 @ 20, Pen x 200 @ 60| xxxxxxx
| | Rubber x 150 @ 10, Paper x 500 @ 2 |
2 | 01/01/2012 | Sold: Mouse x 15 @ 190, Keyboard x 10 |
| | @ 600, Monitor x 5 @ 2000 | xxxxxxx
3 | 01/01/2012 | Sold: Mobile x 2 @ 15000 | xxxxxxx
我尝试了不同的技术,例如。合并,东西,用于 XML PATH('')
我无法连接详细信息字符串。
【问题讨论】:
-
AFAIK 聚合连接 is not trivial 在 SQL 服务器中
-
GROUP_CONCAT 在 MySQL 中做同样的事情,你可以在 SQL server 中搜索替代.. explainextended.com/2010/06/21/group_concat-in-sql-server
-
你为什么要在 SQL 中这样做?客户端语言更适合这种情况
标签: sql sql-server string concatenation