为了描述我的问题,这是一个假设的场景:
(
select user_id, stat
from stats1
where user_id in (select id from users where selected = 1)
)
union
(
select user_id, stat
from stats2
where user_id in (select id from users where selected = 1)
)
union
(
select user_id, stat
from stats3
where user_id in (select id from users where selected = 1)
)
# and so on ...
查看'在'中的查询方式多次使用。我想保存此查询的结果,然后使用它。在所有其他查询中。显然,如果通过在PHP中运行该查询然后传入值,这很容易实现,但这纯粹可以在MySQL中实现吗?
答案 0 :(得分:0)
您可以为所选用户创建永久视图
lst.OrderBy(x=>x.Split(' ')[1]);
然后,当您需要它时,您的语法将更容易和更轻松
CREATE VIEW selectedUsers AS SELECT id FROM users WHERE selected = 1;
如果表用户中的数据在请求期间没有更改,则每次需要查看时数据库引擎都应使用缓存