我正在重構幾年前由其他人編寫的Java程序,無法與他們聯繫以查找有關SQL /數據庫的任何內容,但是此查詢不是工作(當分別具有兩個查詢時不返回任何結果)。我知道沒有更多的信息會煩惱,但目前我沒有太多選擇。SQL Inner Join查詢返回沒有結果
"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注入](http://en.wikipedia.org/wiki/SQL_injection)。 – Oded
首先打印實際的sql語句並查看是否有錯誤 – Madhivanan
在縮小WHERE子句的同時嘗試聲明。它可能確實沒有結果。如果它不拋出錯誤,則不會有結果。如果它確實拋出,謹慎分享? – Jacco