私はかなり単純な宿題に取り組んでおり、いくつかの基準に準拠するデータを取得し、前のクエリで選択されたデータに対して別のクエリを実行する必要があります。
一時テーブルを作成し、最初のクエリの結果を入力してから、テーブルに対して 2 番目のクエリを実行します。それから私はテーブルを落とします。
問題は次のとおりです。テーブルを削除すると、結果が破棄されるため、2 番目のクエリは空になります。私はこれを理解していません。選択には一時テーブルを使用せず、データ検証のみに使用します。それでも、クエリの最後でテーブルが削除された場合、クエリは空を返します。テーブルを落とさなければ問題なく動作します。しかし、クエリを再度実行すると、テーブルが存在すると表示されます。ここで何が間違っていますか。コードは次のとおりです。
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);