如何将两个查询组合到一行查询中

时间:2015-02-10 15:46:00

标签: mysql sql

我想使用第一个查询结果来应用第二个查询。然后我遇到了一些问题。

(我的环境为Node.js,但不会影响此问题。)


FIRST QUERY

SELECT (TO_SECONDS('2015-02-10 23:00:00') - TO_SECONDS(NOW())) AS remainSeconds

然后我会得到数字结果'remainingSeconds',如'-1957'。

如果'remainingSeconds'> 0将运行第二个查询。

第二次查询

// '...' is not important, so I skip them.

INSERT INTO tableA(...) SELECT ... FROM tableB

我的问题摘要:

  

我们知道两个查询之间存在一些延迟。在某些情况下,这种延迟时间会导致一些严重的问题。

     

如何将上述两个查询合并到一行查询中。

1 个答案:

答案 0 :(得分:1)

只需在(TO_SECONDS('2015-02-10 23:00:00') - TO_SECONDS(NOW()))

的位置添加SELECT即可

e.g。

INSERT INTO tableA(...) SELECT ... FROM tableB WHERE (TO_SECONDS('2015-02-10 23:00:00') - TO_SECONDS(NOW())) > 0