我创建了一个视图,它使用另一个视图来检索它的数据。
第二个视图查询带有时间戳的表,我想在第一个视图的查询中添加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查询中要更改的日期。
答案 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;;