我有兩個結果集(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. 在Java中結合兩個類?
- 5. 在Android中結合兩個圖像java
- 6. Java中兩個ResultSet之間的比較
- 7. 從Java中的HBase加入兩個ResultSet?
- 8. 如何在R中結合兩個圖?
- 9. 如何在Mathematica中結合兩個3dplot?
- 10. 如何在Java中「合併」兩個URI?
- 11. 如何在Java中合併兩個GIF?
- 12. 如何在java Spark中結合兩個RDD與不同的鍵?
- 13. 如何在Java中結合兩個字符串
- 14. 如何從ResultSet構建此Java集合
- 15. 如何結合兩個NSDictionaries?
- 16. 如何結合兩個foreache's
- 17. 如何結合兩個LPCWSTR?
- 18. 如何結合兩個NSString?
- 19. 如何結合兩個Crossentropies
- 20. 如何結合兩個if?
- 21. 結合兩個列表中的Java
- 22. 如何讓ResultSet在java中打開?
- 23. 如何結合兩個結果?
- 24. 如何合併java中的兩個BST?
- 25. 將結果結合在兩個表中
- 26. 如何在覈心Java代碼中結合兩首歌曲?
- 27. 結合兩個文本文件的Java
- 28. java結合了兩個鏈接列表
- 29. 不能結合兩個類java
- 30. Android開發:結合兩個Java文件
+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