我正在做一个相当简单的家庭作业,我必须检索一些符合某些条件的数据,然后对上一个查询中选择的数据运行另一个查询。
我创建了一个临时表并使用第一个查询的结果填充它,然后在该表上运行第二个查询。然后我放下桌子。
问题是:如果我删除表,第二个查询是空的,因为结果被丢弃。我不明白这一点。我不使用临时表进行选择,仅用于数据验证。然而,如果在查询结束时删除了表,则查询返回空。如果我不放下桌子,它就可以正常工作。但是如果我再次运行查询,它会说表存在。我在这里做错了什么。这是代码:
SELECT DISTINCT gno
INTO TEMPORARY TABLE TMP
FROM edge
WHERE weight>100;
SELECT gname, gsum(graph.gno)
FROM TMP, graph
WHERE graph.gno = TMP.gno AND gsum(graph.gno)>=ALL
(SELECT gsum(graph.gno)
FROM graph);