데이터베이스에 다른 테이블이 있습니다 (mysql). 다른 테이블에서 일부 열을 추출하여 CSV 파일에 써야합니다. 표 1 고려
A 1
B 2
C 3
table 2 table 3
X 7 AB A1
Y 8 BC B2
Z 10 CD C3
U 11 DE D4
V 12
W 13
빈 행이 null이되도록 csv 파일에 테이블 2의 테이블 1,2nd col의 첫 번째 열과 테이블 3의 첫 번째 열을 쓰고 싶습니다.
output:
A,7,AB
B,8.BC
C,10,CD
null,11,DE
null,12,null
null,13,null
mysql에서 csv로 기본 읽기 및 쓰기를 수행 할 수 있으며 위의 출력을 얻으려면 논리 또는 코드에 대한 도움이 필요합니다. " 'n'개의 테이블에서 'n'개의 열을 말하는 일반적인 솔루션을 찾고 있습니다." 위는 예입니다.
나는 당신이 당신의 데이터베이스를 읽는 방법을 모르지만 JDBC로 그것을한다고 가정합니다.
ResultSet tableAReusltSet= null;
ResultSet tableBReusltSet= null;
ResultSet tableCReusltSet= null;
List<PseudeContainer> container = new ArrayList<>();
while (tableAReusltSet.next()) {
PseudeConteiner ps = new PseudoContainer();
ps.col1 = tableAReusltSet.getString("ColumnName");
container.add(ps);
}
int i = 0;
while (tableBReusltSet.next()) {
if(container.size() <= i){
container.add(new PseudeContainer());
}
container.get(i).col2 = tableBReusltSet.getString("ColumnName");
}
i = 0;
while (tableBReusltSet.next()) {
if(container.size() <= i){
container.add(new PseudeContainer());
}
container.get(i).col2 = tableBReusltSet.getString("ColumnName");
}
// .. 이제 작성할 수있는 컬렉션이 있습니다.
public PseudeContainer {
String col1 = null;
String col2 = null;
String col3 = null;
}
위의 작동합니다 .. 여전히 의사 코드 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다