将来自同一查询的结果合并为一个新结果 - MySQL

时间:2012-03-22 18:19:27

标签: mysql

我有一个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

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果每个标签每列只有一个值,那么您可以使用如下查询:

SELECT 
  tag,
  MAX(acquisition_cost),
  MAX(purchase_date),
  MAX(user) 
FROM `table1`
GROUP BY tag

如果有多个值,那么我强烈建议不要像这样折叠数据 - 你应该重新考虑你的设计。