MySql结合记录

时间:2017-10-13 08:04:02

标签: mysql sql database

我必须在我的桌子上做一些调整。例如,我必须找到记录,其中CreateDate =某个日期和所有记录组合它们。例如:

ID   Name   Kpi1  Kpi2  Kpi3  CreateDate
1    GHX    45    NULL  NULL  2017-02-09
2    GHX    NULL  66    3o    2017-02-09
3    TRE    NULL  44    33    2017-02-09
4    TRE    89    NULL  NULL  2017-02-09

每个特定名称总会有两条记录。一条记录将填写第二条没有的列,反之亦然。

因此,在我的表格的最后,我应该得到该结果,而不是有4条记录。所以意味着以某种方式替换那些数据 - 我不知道删除和再次插入或其他什么。

请注意,ID是PK / AI,其余是字符串,CreateDate是DateTime

ID   Name   Kpi1  Kpi2  Kpi3  CreateDate
1    GHX    45    66    30    2017-02-09
3    TRE    89    44    33    2017-02-09

这可能吗?我希望有一个查询能够为特定日期的所有记录传递一个或多个日期范围的特定日期。

1 个答案:

答案 0 :(得分:0)

这会给你想要的结果,但我不确定为什么你会想要那个

 INSERT INTO TABLE(MIN(ID), Name, MIN(Kpi1), MIN(Kpi2), MIN(Kpi3), 
 MIN(CreateDate))
 SELECT MIN(ID), Name, MIN(Kpi1), MIN(Kpi2), MIN(Kpi3), MIN(CreateDate)
 FROM Table1
 WHERE CreateDate = '2017-02-09'
 GROUP BY Name