0
Date        Ref     Number
20/02/2013  980717  20503
20/02/2013  980717  20506
20/02/2013  980717  20580
20/02/2013  980717  20582
21/02/2013  981783  20500
21/02/2013  981783  20567
21/02/2013  981783  20571
21/02/2013  981783  20577
21/02/2013  981783  20580
22/02/2013  982182  20500
23/02/2013  982856  20580
23/02/2013  982856  20500
24/02/2013  994244  20502
24/02/2013  994244  20501
24/02/2013  994244  20507

有人可以帮我把它改成

Date        Ref     Number  Number  Number  Number  Number
20/02/2013  980717  20503   20506   20580   20582       
21/02/2013  981783  20500   20567   20571   20577   20580   
22/02/2013  982182  20500                   
23/02/2013  982856  20580   20500               
24/02/2013  994244  20502   20501   20507

'number' 字段的列数应该是动态的,具体取决于为唯一 'ref' 找到的行

而且我还需要能够将日期设置为标准

4

1 回答 1

0

我假设您使用的是 MYSQL。

如果是这样,我认为你应该尝试GROUP_CONCAT。它将在某一日期显示找到的所有数字。并且通过 distinct 你找到了重复数据删除。

SELECT Date, Ref, GROUP_CONCAT(DISTINCT NUMBER SEPARATOR ";") as Numbers
FROM ...
WHERE ...
GROUP BY Date, Ref

它不会在不同的列"Number"中显示不同的数字。但是你可以在“;”上爆炸你的“数字”列 分隔器。

笔记:

如果您使用它,您可能必须将您的数字转换为 char 才能在 phpmyadmin 中正确显示它们。否则,它可能只在 phpmyadmin 中显示“BLOB”。

于 2013-02-22T09:56:29.030 回答