我有这样的查询:
(SELECT id,content,userid FROM article WHERE type='A' LIMIT 10)
UNION ALL
(SELECT c.id,c.content,c.userid FROM comment AS c
JOIN (SELECT id,content,userid FROM article WHERE type='A' LIMIT 10) AS a
ON c.articleid = a.id)
如何重用而不是重新查询此临时表SELECT id,content,userid FROM article WHERE type='A' LIMIT 10
?
答案 0 :(得分:0)
我将为您要重用的语句定义一个视图,并为其指定一个合适的名称。
答案 1 :(得分:0)
这种方式实现了你的要求。
SELECT
c.id,c.content,c.userid,
a.id,a.content,a.userid
FROM comment AS c
JOIN article AS a ON c.articleid = a.id
WHERE a.type='A'
# This will limit #comments + #articles, not usable
# Removing it means a lot of useless data being transferred
LIMIT 10
您将不得不使用多个查询。或者接受不会使用的数据传输。
此外,你必须过滤掉你会得到的双重文章