簡體   English   中英

我想在Java Eclipse中使用JDBC從上一個查詢對ResultSet執行另一個SQL查詢

[英]I want to execute another SQL query on the ResultSet from the previous query using JDBC in Java Eclipse

我有一個剛剛在班級分配的JDBC項目,我們應該通過JDBC Java Eclipse對我們的大學數據庫執行此查詢:

SELECT dept_name, COUNT(*) AS COUNT FROM student GROUP BY dept_name;

並使用返回的resultSet查詢結果集:

HAVING COUNT = (SELECT MAX(ACOUNT) AS MAXCOUNT
                FROM (SELECT dept_name, COUNT(*) AS ACOUNT
                      FROM student GROUP BY dept_name) AS ATable);

我在我的書中和通過google瀏覽了所有內容,但找不到有關如何執行此操作的示例教程。 你們可以指向我的任何鏈接/文檔還是一個起點?

解決方案編輯:我終於從老師那里得到澄清,他的意思是在我的Java程序中執行SQL語句並遍歷結果並使用Java篩選出第二條SQL語句附加到原始SQL語句時將獲得的相同信息。聲明。 感謝那些花時間嘗試和幫助的人。

您的作業僅提供偽代碼,並且“執行”一詞必須是錯誤的。 正如其他人所建議的那樣,“對結果集執行查詢”沒有任何意義。

假設您的導師意味着“過濾掉”,則可能希望您運行兩個單獨的語句( SELECT dept_name...SELECT MAX(... ),然后在第一個結果集上進行迭代以搜索與第二個結果匹配的結果組。

偽代碼:

RSet1 = query("SELECT dept_name, COUNT(*) AS COUNT FROM student GROUP BY dept_name;");
RSet2 = query("SELECT MAX(ACOUNT) AS MAXCOUNT ...");
RowInR2 = RSet2[0]; // first and only row

foreach RowInR1 in RSet1
    if (
        RowInR1.count = RowInR2.maxcount
    ) {
        return RowInR1; // this is your result
    }
}

請記住,除了教育目的之外,這種方法是荒謬的。 只需一個查詢就可以提取該數據(單行),而無需提取並解析[Query 1]的結果(此查詢是您的兩個查詢的精確串聯)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM