저는 몇 년 전에 다른 사람이 작성한 Java 프로그램을 리팩토링 중이므로 SQL/데이터베이스에 대해 알아볼 수는 없지만이 쿼리는 아닙니다. (두 개의 쿼리가 따로있을 때 어떤 결과도 반환하지 않음). 더 많은 정보없이 질문하는 것은 짜증나지만, 지금은 그다지 선택의 여지가 없습니다.SQL 내부 조인 쿼리가 결과를 반환하지 않습니다.
"SELECT " + CLMHDR + ".POLBRC, "
+ CLMHDR + ".POLTYC, " + CLMHDR + ".POLNOC," + CLMHDR + ".CLTKYC, "
+ POLHDR + ".INCPTP FROM "+ CLMHDR +
"INNER JOIN " + POLHDR + " ON " + CLMHDR + ".CLTKYC = " + POLHDR+ ".CLTKYP"
+ " WHERE POLNOC = "+ polnocSearch
+ " AND POLBRC = '" + polbrcSearch + "'"
+ " AND POLTYC = '" + poltycSearch + "'"
+ " AND DATRPC <= " + claimDate
+ " GROUP BY POLBRC, POLTYC, POLNOC, CLTKYC"
표 CMLHDR 및 POLHDR는 참조하는 열을 포함 할, 그리고 CLTKYC 및 CLTKYP는 각 테이블의 키입니다. 끔찍한 이름에 대해 유감스럽게 생각합니다. RPG도 마찬가지입니다.
편집 : 어떤 작업을 수행하는 것은 이이 다음에
"SELECT POLBRC, POLTYC, POLNOC, CLTKYC FROM "+ CLMHDR
+ " WHERE POLNOC = "+ polnocSearch
+ " AND POLBRC = '" + polbrcSeach + "'"
+ " AND POLTYC = '" + poltycSearch + "'"
+ " AND DATRPC <= " + claimDate
+ " GROUP BY POLBRC, POLTYC, POLNOC, CLTKYC"
:
"SELECT INCPTP, TRMTHP FROM "+ POLHDR + " WHERE POLNOP = "+ polnocSearch
+ " AND POLBRP = '"+ polbrcSearch+ "' AND POLTYP = '"+ poltycSearch + "'"
하지만 난 정말 모든 데이터가 한 번에 반환 할 원합니다.
이 코드는 [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection)에서 열어 보입니다. – Oded
먼저 실제 SQL 문을 인쇄하고 잘못된 것이 있는지 확인하십시오. – Madhivanan
WHERE 절을 좁히는 동안 문을 사용해보십시오. 정말 결과를 반환하지 않을 수도 있습니다. 오류가 발생하지 않으면 결과가 없습니다. 그것이 던지면, 공유 신경? – Jacco