SQL 쿼리에서 반환 된 결과 인 2 개의 resultSet의 결과를 병합하고 싶습니다. 가장 좋은 방법은 무엇입니까?결과 집합 내의 루프가 중첩 된 while
내 계획은 두 결과 집합의 최종 결과를 출력하기 위해 2 개의 결과 집합을 반복합니다. 두 결과 세트의 첫 번째 열은 동일한 ID 열입니다. 그러나 내부 while 루프의 경우 첫 번째 값만 인쇄됩니다.
일치가있을 때 두 번째 결과 집합의 값을 인쇄하고 루프에서 벗어났다 고 생각했습니다. 그런 다음 일치하는 항목이 하나 더 있으면 값을 다시 인쇄합니다.
while (set1.next())
{
System.out.print("Id: "+set1.getInt(1)+", Name: "+set1.getString(2));
while (set2.next())
{
if (set1.getInt(1)==(set2.getInt(1)))
{
System.out.print(", Alias: "+set2.getString(2);
break;
}
}
System.out.println();
}
편집 :
ResultSet set1:
id | name
1 | A
2 | B
3 | C
...
ResultSet set2:
id | alias
1 | F
2 | G
2 | H
나는 인쇄 할 :
Id: 1, Name: A, Alias: F
Id: 2, Name: B, Alias: G, H
참고로, ID는 아래의 루프 만 실행됩니다
약간의 데이터 및 검색어 샘플을 게시 하시겠습니까? – Leo
방금 세트에 대한 추가 정보를 게시했습니다. 고맙습니다. – kaboom
'set1'과'set2'는 무엇입니까? 어떤 데이터 유형입니까? – mrres1