동일한 필드를 갖는 두 개의 결과 집합 (rs1
및 rs2
)이 있습니다. 이제는 두 개의 결과 집합을 하나로 결합하여 중복 행을 한 번 표시하는 방법입니다.Java에서 두 ResultSet을 결합하는 방법은 무엇입니까?
답변
두 개의 ResultSet
이 같은 데이터베이스에있는 경우 union
을 사용하여 검색 중에 결합하지 않는 이유는 무엇입니까? 예 : 이 후, 나는 당신의 ResultSet
에서 추출한 행을 표현하기 위해 클래스를 정의하고 수 있도록 을 equals
/hashCode
를 구현하는 것이 좋습니다 옵션이없는 경우
select A, B
from C
union
select A, B
from D
그러나 어떤지를 비교합니다. 그런 다음 중복을 제거하기 위해 각 을 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 ... .......... :) –
@Bozho 나는 당신과 대화하고 싶습니다. 여기에 게시 할 수있는 프로그래밍 문제가 없습니다. 당신은 내 문제에 대한 여러 가지 질문에 답했고 따라서 저는 당신이 내 경력을 위해 당신에게 조언을 구하는 사람이라고 생각합니다. 나는 당신의 블로그도 확인했지만 당신과 대화 할 방법을 찾지 못했습니다. 나는 그것이 잘못된 것처럼 당신과 대화하기 위해 SO를 사용하고 싶지 않습니다. 나는 당신의 소중한 시간에서 저에게 약간의 시간을주고 당신과 어떻게 대화 할 수 있는지 말해 주시면 매우 감사하게 생각합니다. 감사합니다. . –
@Yatendra Goel 특별한 질문이있는 경우 SO에 질문하십시오. 덜 구체적인 질문이있는 경우 내 블로그 (내 프로필에 링크되어 있음)를 확인하고 의견을 남기십시오. – Bozho
- 1. 두 데이터베이스에서 두 테이블을 결합하는 방법은 무엇입니까?
- 2. Java에서 ResultSet을 처리하고이를 int 배열로 변환하는 방법은 무엇입니까?
- 3. Java에서 영어 단어를 결합하는 방법은 무엇입니까?
- 4. 제출시 두 가지 기능을 결합하는 방법은 무엇입니까?
- 5. Perl에서 두 파일을 결합하는 방법은 무엇입니까?
- 6. 이 두 PHP 배열을 결합하는 방법은 무엇입니까?
- 7. iTextSharp를 사용하여 두 PDF를 결합하는 방법은 무엇입니까?
- 8. Smarty에서 두 개의 문자열을 결합하는 방법은 무엇입니까?
- 9. 두 개의 단색 이미지를 결합하는 방법은 무엇입니까?
- 10. 두 개의 SQL 쿼리를 결합하는 방법은 무엇입니까?
- 11. 두 개의 배열을 함께 결합하는 방법은 무엇입니까?
- 12. iPhone에서 두 개의 프로젝트를 결합하는 방법은 무엇입니까?
- 13. JUNG에서 두 개의 그래프를 결합하는 방법은 무엇입니까?
- 14. 두 개의 LPCWSTR을 결합하는 방법은 무엇입니까?
- 15. 파이썬에서 sqlite의 두 열을 결합하는 방법은 무엇입니까?
- 16. 두 개의 Apps를 하나로 결합하는 방법은 무엇입니까?
- 17. Java에서 클래스를 결합하는 방법
- 18. Java에서 두 객체 병합
- 19. Java에서 UDP와 RPC를 결합하는 가장 쉽고 효율적인 방법은 무엇입니까?
- 20. MySQL에서 빈 ResultSet을 검색하는 방법은 무엇입니까?
- 21. 루프를 결합하는 방법은 무엇입니까?
- 22. Java에서 두 개의 GIF를 병합하는 방법은 무엇입니까?
- 23. Java에서 두 개의 배열을 혼합하는 방법은 무엇입니까?
- 24. Java에서 두 개의 배열을 병합하는 방법은 무엇입니까?
- 25. SQL을 효과적으로 결합하는 방법은 무엇입니까?
- 26. 두 데이터베이스를 쿼리하고 LINQ를 사용하여 결과를 결합하는 방법은 무엇입니까?
- 27. 공통 키를 기반으로 PHP에서 두 개의 배열을 결합하는 방법은 무엇입니까?
- 28. PostgreSQL에서 두 개의 하위 쿼리 결과를 결합하는 방법은 무엇입니까?
- 29. 두 개의 mysql 테이블을 조건에 올바르게 결합하는 방법은 무엇입니까?
- 30. 상황에 따라 두 테이블의 데이터를 결합하는 방법은 무엇입니까?
+1 ... 대단한 대답 ... 매우 정확하고 요점 ... 나는 권리가 있다면 당신에게 10 번 upvote 것입니다. –
UNION은 중복을 제거하여 강제로 정렬을 제거합니다. UNION ALL은 결과 집합을 기능적으로 연결합니다. dups가 수용 가능하거나 두 결과 세트가 겹치지 않는다면, UNION ALL을 사용하십시오. –
@ Adam : OP는 이미 중복 행을 한 번만 표시하기를 원했기 때문에 UNION ALL이 아닌 UNION을 언급 한 이유는 분명합니다. – Adamski