【发布时间】:2018-09-11 19:07:15
【问题描述】:
我有两个有效地使用相同数据的查询。我正在尝试将它们合二为一,这样我可以节省空间,但我遇到了问题。 我正在尝试从第二个查询中选择。我会在我的尝试中展示。
查询 A:
SELECT TOP 5 ([Parent]), [Game ID]
FROM Games
WHERE [Parent] = 'Zelda'
ORDER BY [Game ID] DESC;
查询 B:
SELECT QueryA.[Parent], QueryA.[Game ID]
FROM QueryA
WHERE Mid(QueryA.[Game ID], 5) NOT IN (
SELECT MAX(Mid(Game.[Game ID], 5))
FROM Game
);
这些查询单独工作,但似乎可以将它们组合成一个查询。我试图弄清楚如何。我以为我可以做类似的事情
SELECT QueryA.[Parent], QueryA.[Game ID]
FROM (
SELECT TOP 5 ([Parent]), [Game ID]
FROM Games
WHERE [Parent] = 'Zelda'
ORDER BY [Game ID] DESC
)
WHERE Mid(QueryA.[Game ID], 5) NOT IN (
SELECT MAX(Mid(Game.[Game ID], 5))
FROM Game
);
但事实并非如此。看起来很基本,但我正在努力解决。
【问题讨论】:
-
为什么需要两个查询。您可以将外部查询的
WHERE条件添加到内部查询中吗?