繁体   English   中英

MySQL临时表查询-将计算列添加到在select中计算的表中

[英]MySQL Temporary Table query - add calculated column to table calculated in select

我正在尝试从查询中创建一个临时表,并在查询中计算出另一列...

这是我的查询:

asprintf(&query,
"CREATE TEMPORARY TABLE IF NOT EXISTS task_tab (PRIMARY KEY(event_id))"
"SELECT V.id as event_id, V.event_time, D.user, V.location FROM device D "
"JOIN device_service DS ON D.id = DS.device_id "
"JOIN services S ON DS.service_id = S.id "
"JOIN device_event V ON D.id = V.device_id "
"WHERE V.store = 'event_box' AND S.options = 'box_length' AND (S.flags & 1 = 1)"
"AND V.event_time + (IF(S.value IS NULL, %d, S.value) * 86400000) <= %llu"
"AND D.id IN ( SELECT D.id FROM device D "
    "JOIN device_service DS ON D.id = DS.device_id "
    "JOIN services S ON DS.service_id = S.id "
    "WHERE S.action = 'delete' AND (S.flags & 1 = 1)",
app_config->def_expire, current_epoch_ms);

我想在此临时表中创建一列“ expire_time”,并将查询的这一部分的结果存储在该列中:

V.event_time + (IF(S.value IS NULL, %d, S.value) * 86400000)

有任何想法吗?

V.event_time + (IF(S.value IS NULL, %d, S.value) * 86400000) AS `expire_time`

到您的SELECT清单

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM