MySQL复杂合并两个不同日期格式的表

MySQL复杂合并两个不同日期格式的表,mysql,date,merge,tabular,Mysql,Date,Merge,Tabular,我这里有一个类似于小提琴的MySQL表: 另一个与API不同: 我想要的是这样的结果(每周): +----------+----------+----------+------------+------------+------------+ | date | action | position | name | day | ID | +----------+----------+----------+------------+-------

我这里有一个类似于小提琴的MySQL表:

另一个与API不同:

我想要的是这样的结果(每周):

+----------+----------+----------+------------+------------+------------+
| date     | action   | position | name       | day        | ID         |
+----------+----------+----------+------------+------------+------------+
|17.06.2013| holiday  | home     | Winkler,Mr.| Monday     | 0          |
|18.06.2013| holiday  | home     | Winkler,Mr.| Tuesday    | 1          |
|19.06.2013| work     | NYC      | Winkler,Mr.| Wednesday  | 2          |
|20.06.2013| work     | NYC      | Winkler,Mr.| Thursday   | 3          |
|21.06.2013| work     | NYC      | Winkler,Mr.| Friday     | 4          |
|22.06.2013| work     | NYC      | Winkler,Mr.| Saturday   | 5          |
|23.06.2013| weekend  | home     | Winkler,Mr.| Sunday     | 6          |
+----------+----------+----------+------------+------------+------------+
你们当中有人有过类似的经历吗


由于第二个表中缺少日期,我无法正确合并它们。

试试这个我已经加入了您的表,并注意到
DATETIME
字段的类型为
text
,这太糟糕了,无法将日期另存为文本。这应该是
date
DATETIME
,但我已经习惯了转换作为日期,在下面的查询中,我使用了
mydates
的左连接,还使用了CASE来创建自定义条件,您必须提供一个日期,以便获取该日期的记录

SELECT md.`mydate`,
(CASE WHEN g.`ACTION` IS NULL  &&  DAYNAME(md.`mydate`) ='Sunday'  THEN 'Weekend' 
WHEN g.`ACTION` ='0' THEN g.`ACTIONTEXT` 
WHEN  g.`ACTION` IS NULL THEN 'holiday' 
ELSE 'holiday' END) `action` 
,
(CASE WHEN g.`POSITION` IS NULL THEN 'Home' ELSE g.`POSITION` END)`position` ,
g.`DRIVERNAME`,DAYNAME(md.`mydate`),g.`ID`  FROM `mydates` md 
LEFT JOIN `geoimportroot` g ON (md.`mydate`=  STR_TO_DATE(g.`DATETIME`, "%d.%m.%Y")  )
WHERE WEEK(md.`mydate`)= WEEK('2013-06-17')

我希望这就是你要找的