我有一个mysql表,其中有几个记录链接到一个特定的标记。例如,此查询
SELECT * FROM table1 WHERE tag = 'tag1'
将返回此
equipment_id | tag | acquisition_cost | purchase_date | user
1 tag1 200.05 null null
5 tag1 null 02-02-2012 null
19 tag1 null null jsmith
我想将具有相同标记的所有结果组合在一起,然后插入到新表中,以便我得到:
SELECT * FROM table2 WHERE tag = 'tag1'
equipment_id | tag | acquisition_cost | purchase_date | user
[] tag1 200.05 02-02-2012 jsmith
有什么建议吗?
答案 0 :(得分:2)
如果每个标签每列只有一个值,那么您可以使用如下查询:
SELECT
tag,
MAX(acquisition_cost),
MAX(purchase_date),
MAX(user)
FROM `table1`
GROUP BY tag
如果有多个值,那么我强烈建议不要像这样折叠数据 - 你应该重新考虑你的设计。