- ベストアンサー
このSQLのおかしい所は?
- DB2環境で組まれたSQLにおいて値がうまく取れない問題が発生しています。どこが問題なのか教えていただけますか?
- 組まれたSQLで値の取得がうまくいかない問題があります。どこが原因となっているのか教えていただけませんか?
- DB2の環境で組まれたSQLの中で値の取得に問題があります。問題の原因を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DB2は使ったことないのですが。。。 SELECT * FROM TR0410 r410 INNER JOIN TR0400 r400 ON r410.BILLMNGNO=r400.BILLMNGNO AND r400.DELETEFLG=0 INNER JOIN MR0010 mr10 ON (SELECT r10.BUILDMNGNO FROM TR0010 r10 INNER JOIN TR0410 r410 ON r10.ONKEINO=r410.ONKEINO)=mr10.BUILDMNGNO ←複数行・nullが取れるとマズイです AND mr10.DELETEFLG=0 INNER JOIN MB0010 mb10 ON (SELECT r10.BUILDMNGNO FROM TR0010 r10 INNER JOIN TR0410 r410 ON r10.ONKEINO=r410.ONKEINO)=mb10.BUILDMNGNO ←複数行・nullが取れるとマズイです AND mb10.DELETEFLG=0 AND mb10.BUILDTNO=(SELECT MIN(BUILDTNO) FROM ←FROM2回目 MB0010 b10EX WHERE b10EX.BUILDMNGNO=mb10.BUILDMNGNO) INNER JOIN ←Where句に結合条件は不可 TR0010 r10 ON r410.ONKEINO=r10.ONKEINO AND r410.ONKEISUB=r10.ONKEISUB AND r10.DELETEFLG=0 INNER JOIN ←Where句に結合条件は不可 TR0100 r100 ON r410.TNKEINO=r100.TNKEINO AND r410.TNKEISUB=r100.TNKEISUB AND r100.DELETEFLG=0 INNER JOIN ←Where句に結合条件は不可 TR0050 r50 ON r410.ONKEINO=r50.ONKEINO AND r410.ROOMCD=r50.ROOMCD AND r50.DELETEFLG=0 INNER JOIN ←Where句に結合条件は不可 MR0030 mr30a ON r10.ONCD=mr30a.RESTORINO AND mr30a.DELETEFLG=0 INNER JOIN ←Where句に結合条件は不可 MR0030 mr30b ON r100.TENANTCD=mr30b.RESTORINO AND mr30b.DELETEFLG=0 WHERE ←Where句2回目 r410.DELETEFLG=0 AND r410.SKYOTKBN=2 AND mr10.TORITENPO=1 とりあえずおかしいところに注釈入れました。
お礼
お礼が遅れまして申し訳ありません。 ご指摘通り、複数行取れる可能性がある部分でおかしくなって いたようです。 ありがとうございました。