[英]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.