2

私は数年前に他の誰かによって書かれたJavaプログラムをリファクタリングしていて、SQL /データベースについて何も知るために彼らと連絡を取ることができませんが、このクエリは機能していません(2つのクエリがあるときに結果を返さない個別に行います)。これ以上の情報なしで質問するのは面倒ですが、現時点ではあまり選択肢がありません。

"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 + "'"

しかし、私は本当にすべてのデータが一度に返されることを望んでいます。

4

2 に答える 2

3

FROM句とINNERJOIN句の間にスペースがありません。

FROM "+ CLMHDR +
"INNER JOIN

これである必要があります:

FROM "+ CLMHDR + 
" INNER JOIN
于 2013-01-08T10:24:02.640 に答える
2

問題に加えて、にinner join問題がありますgroup by。あるはずINCPTPです。MySQLを除くすべてのデータベースでは、これによりエラーが生成されます。

ちなみに、次の2つが含まれていると、質問に答えるのが簡単になります。

  1. 使用しているデータベースエンジン
  2. 値が入力された結果のクエリ文字列
于 2013-01-08T14:27:25.220 に答える