【发布时间】:2017-11-07 07:56:12
【问题描述】:
我在将子查询作为条件时遇到了一个小问题。
这是我要弄清楚的代码:
SELECT `page`
FROM `mdl_tool_devcourse`
WHERE `page` IN
(SELECT `objectid`
FROM `mdl_logstore_standard_log`
WHERE `action` = 'viewed' AND `objecttable` = 'wiki_pages' AND `userid` = 2)
AND `ref` IN
(SELECT `objectid`
FROM `mdl_logstore_standard_log`
WHERE `action` = 'viewed' AND `objecttable` = 'wiki_pages' AND `userid` = 2)
所以在我的 WHERE 语句中,我希望 page 和 ref 都在我的子查询的结果中。为了实现这一点,我找不到任何其他方法,只能运行两次子查询。是否有另一种选择让子查询只执行一次?
【问题讨论】:
-
你能提供样本数据和想要的结果吗?这看起来像一个不寻常的数据模型。
标签: mysql sql subquery conditional-statements