我有兩個結果集(rs1
和rs2
)具有相同的字段。現在如何將這兩個結果集合成一個,以便重複顯示一次。如何在Java中結合兩個ResultSet?
回答
如果兩個ResultSet
s是同一個數據庫,那麼爲什麼不檢索過程中使用union
將它們結合起來;例如
select A, B
from C
union
select A, B
from D
但是,如果這是不是一種選擇,那麼我建議定義類來表示您ResultSet
提取的行和實施equals
/hashCode
允許爲比較相等。然後簡單地將每個添加到Set
(例如HashSet
)以刪除重複。
您可以:
- 創建具有對應於列
- 實現使用由您定義的字段「重複」的
equals()
和hashCode()
方法屬性的類(讓你的IDE幫助你的代的這些) createa一個
Set
(HashSet
):集combinedDataSet =新的HashSet();
迭代每個結果集和構建對象:
while (rs1.next) { YourClass obj = new YourClass(); obj.setSomeProperty(rs.getString(1)); obj.setAnotherProperty(rs.getString(2)); // etc.. cominbedDataSet.add(obj); }
相同的迭代無二
rs2
只有在情況下做到這一點你無法通過獲得所需的結果SQL查詢!
+1 ... .......... :) – 2010-02-19 12:58:29
@Bozho我想和你溝通。我沒有任何編程問題,我可以在這裏發佈。你回答了我的各種問題,因此,我知道你是適合我職業生涯的建議。我也檢查了您的博客,但沒有找到任何方式與您溝通。我不想用SO與你溝通,因爲這是錯誤的。如果您在寶貴的時間裏給我一些時間,並告訴我如何與您聊天,我會非常感激您。 謝謝。 – 2010-02-19 13:22:10
@Yatendra Goel如果您有特殊問題,請在SO諮詢。如果您的問題不那麼特別,請查看我的博客(在我的個人資料中鏈接)並發表評論。 – Bozho 2010-02-19 13:31:51
- 1. 將多個ResultSet合併到Java中的單個ResultSet中
- 2. JAVA - 如何結合兩個列表?
- 3. 在Eclipse中結合兩個Java項目
- 4. 在Android中結合兩個圖像java
- 5. 在Java中結合兩個類?
- 6. 如何在R中結合兩個圖?
- 7. 如何在Java中「合併」兩個URI?
- 8. 如何在Java中合併兩個GIF?
- 9. 如何在Java中結合兩個字符串
- 10. 如何從ResultSet構建此Java集合
- 11. 如何結合兩個Crossentropies
- 12. 如何結合兩個NSString?
- 13. 如何結合兩個LPCWSTR?
- 14. 如何結合兩個結果?
- 15. 如何合併java中的兩個BST?
- 16. 結合兩個文本文件的Java
- 17. java結合了兩個鏈接列表
- 18. 如何將兩個結果集合在一個公共列中?
- 19. 如何在django中結合使用兩個或多個ModelAdmin admin
- 20. 如何在一個MySQL查詢中結合兩個UPDATE語句?
- 21. 如何結合使用java的小馬庫的兩個sparsematrix?
- 22. 如何結合兩個JSONArrays JAVA(以下特殊要求)
- 23. 如何結合兩個@objects的迭代?
- 24. 如何結合兩個sql腳本?
- 25. 如何結合這兩個xsl文件
- 26. 如何結合兩個可變數組?
- 27. 如何結合這兩個JavaScript函數?
- 28. 如何結合兩個信號或OR
- 29. 如何結合兩個python矩陣numpy
- 30. 如何結合兩個DStreams(pyspark)?
+1 ...很好的回答...非常精確,並且重點...如果我擁有這些權利,我會贊成你10次。 – 2010-02-18 19:13:18
UNION刪除重複項,強制排序。 UNION ALL在功能上連接結果集。如果dups可接受,或者您知道兩個結果集沒有重疊,請使用UNION ALL。 – 2010-02-18 20:41:12
@Adam:OP已經聲明他希望重複行只顯示一次,因此我提到了UNION而不是UNION ALL。 – Adamski 2010-02-19 08:45:14