使用 cfoutput 的“组”功能非常适合此任务。只是为了排除另一种可能性,您还可以在数据库查询中生成列表。
例如,MySQL 就有这个GROUP_CONCAT
功能。我不知道您的表格的结构,但假设您有两个表格User
,并且UserConcern
您可以使用GROUP_CONCAT
这样的方式将“关注”值连接成一个字符串:
SQLFiddle
SELECT
u.UserID
, u.FirstName
, ... other columns
, GROUP_CONCAT( uc.Concern ) AS ConcernList
FROM UserTable u INNER JOIN UserConcern uc
ON uc.UserID = u.UserID
GROUP BY
u.UserID
, u.FirstName
, ... other columns
对于 SQL Server,一个标准技巧是使用 XML Path:
SQLFiddle
SELECT
u.UserID
, u.FirstName
, ... other columns
, STUFF( ( SELECT ',' + uc.Concern
FROM UserConcern uc
WHERE uc.UserID = u.UserID
ORDER BY uc.Concern
FOR XML PATH('')
)
, 1, 1, ''
) AS ConcernList
FROM UserTable u
GROUP BY
u.UserID
, u.FirstName
, ... other columns
然后像往常一样简单地生成电子表格。