[英]mysql direct insert from complex select
I have this MySQL SELECT: 我有这个MySQL SELECT:
SELECT t.*,
sum(HOUR(TIMEDIFF(STR_TO_DATE(Arbeitsbeginn, '%d.%m.%Y %H:%i:%s'),
STR_TO_DATE(Arbeitsende, '%d.%m.%Y %H:%i:%s')))) AS ARBEITSZEIT,
sum(HOUR(TIMEDIFF(STR_TO_DATE(Projektbeginn, '%d.%m.%Y %H:%i:%s'),
STR_TO_DATE(Projektende, '%d.%m.%Y %H:%i:%s')))) AS Projektzeit
FROM (SELECT DriverName,
Baustelle,
Arbeitsbeginn,
Arbeitsende,
Projektbeginn,
Projektende
FROM (SELECT DRIVERNAME,
GROUP_CONCAT(IF(ACTIONTEXT = 'PB', AREA, NULL)) AS 'Baustelle',
GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsbeginn', DATETIME, NULL)) AS 'Arbeitsbeginn',
GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsende', DATETIME, NULL)) AS 'Arbeitsende',
GROUP_CONCAT(IF(ACTIONTEXT = 'PB', DATETIME, NULL)) AS 'Projektbeginn',
GROUP_CONCAT(IF(ACTIONTEXT = 'PE', DATETIME, NULL)) AS 'Projektende'
FROM geoImportRoot
GROUP BY DRIVERNAME
) A CROSS JOIN
(SELECT 1 AS n UNION ALL SELECT 2) n
) t
GROUP BY DriverName;
Is it possible to get this inserted directly into a new table? 是否可以将其直接插入到新表中?
To create a new table from a select statement you could use: 要从select语句创建新表,可以使用:
It is basically a CREATE TABLE
statement with a SELECT
statement appended. 它基本上是一个
CREATE TABLE
语句,并附加了SELECT
语句。
If you wish to insert the SELECT
result in an existing table, use instead the INSERT ... SELECT
statement. 如果希望将
SELECT
结果插入现有表中,请改用INSERT ... SELECT
语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.