首页 > 解决方案 > MySQL-从数据库中提取一个数字并在同一个查询中使用它

问题描述

table 1在我的数据库中有很多列,包括idtime。一个 id 被发送到服务器,然后我必须t从表中提取其相应的时间(比如说)并运行如下查询:

SELECT * FROM(
(SELECT * FROM table1 WHERE time>t AND ...clause 1...) // query A
UNION
(SELECT * FROM table1 WHERE time>t AND ...clause 2...) // query B
) h LIMIT 24;

如何在上述查询中包含一个子查询,该子查询提取t并使其可供查询 A 和查询 B 访问?

标签: mysqlsqlselectsubquery

解决方案


我认为你需要 Mysql WITH (Common Table Expression) 这里,

WITH CTE AS (
  SELECT * FROM table1 WHERE time>t
)

SELECT * FROM (
  (SELECT * FROM CTE AND ...clause 1...) // query A
UNION
 (SELECT * FROM CTE AND ...clause 2...) // query B
) h LIMIT 24;

推荐阅读