3
Code  | FName | Freq
---------------------
L1    | Ted   | 4
L1    | Frank | 
L1    | Ted   | 5
L2    | Ted   | 7
L1    | Jim   | 4
L1    | Ted   | 7
L4    | Ed    | 1
L2    | Ted   | 2
L1    | Frank | 2

假设我的数据库中有一张这样的表。是否可以在 SQL 中抓取记录(或在 SQL 中抓取然后在另一个 Access 查询中重新组织),以便我可以获得如下所示的记录集:

Code | FName | Freq
-------------------------
L1    | Ted   | 4, 5, 7
L1    | Frank | 2
L2    | Ted   | 2, 7
L4    | Ed    | 1
L1    | Jim   | 4

在基于“代码”和“Fname”的列表中将不同的“频率”数字附加在一起?只要所有不同的频率数字都在列表中,顺序就无关紧要。我可以假设对于 Code 和 Fname 的每个组合,都会有不同的、不重复的频率数(因此,'L1' 和 'Ted' 的组合永远不会有超过一次的频率值 4)

4

1 回答 1

1

那么你很幸运!

select code, fname, listagg(cast(freq as varchar(32), ',') within group (order by freq)
from t
group by code, fname

但是,我不确定这对空白有什么作用。

于 2012-08-13T21:55:41.037 回答