MySQL - 将查询条件传递给视图中的视图

时间:2014-06-26 15:23:51

标签: mysql view

我创建了一个视图,它使用另一个视图来检索它的数据。

第二个视图查询带有时间戳的表,我想在第一个视图的查询中添加WHERE条件,以影响第二个视图的时间戳。

所以我的查询可能是(这显然不起作用,但它会遇到我想要做的事情,我希望:

SELECT * FROM `view_1` WHERE `view_2.timestamp` >= '2014-06-01 00:00:00'

有没有办法修改视图中使用的视图的WHERE子句?

编辑:让我更清楚一点。

我正在使用子查询,这就是我必须使用第二个视图的原因。您不能在MySQL视图中拥有子查询,因此子查询位于另一个视图中。在查询第一个视图时,子查询视图是我想要的视图和WHERE动态WHERE子句。

view_1

SELECT `Case ID`, `Creation Date`,
    CASE WHEN `each_amount` > 1 THEN "YES" ELSE "NO" end AS 'Opened',
FROM [view_2]
WHERE `Creation End` <= NOW()
AND `First` = 1
ORDER BY `Creation Date` DESC

view_2

SELECT T0.timestamp AS 'Creation End', COUNT(T0.ipaddress) AS each_amount, MIN(T0.first) AS 'First',
FROM `mappin` AS T0
WHERE T0.timestamp >= '2014-04-20 00:00:00'
GROUP BY code_2

我对view_1的查询是

SELECT * FROM view_1

此查询从mappin之后或之后的'2014-04-20 00:00:00'表中获取所有内容,此日期是我在view_1查询中要更改的日期。

1 个答案:

答案 0 :(得分:0)

您需要加入view_1和view_2。像,

选择*表单view_1加入view_2 view_1.id = view2.id where view_2.timestamp`&gt; =&#39; 2014-06-01 00:00:00&#39;;