• ベストアンサー

Pro*で副問い合わせができない

こんにちは、現在Oracle9 Pro*C を使った開発をしているのですが、下記のSQLで 副問い合わせをしているのですが、コンパイルエラーが 出てしまいます。エラー内容は 「PCC-S-02201, 記号"SEISAN_YMD"が見つかりました。」 と表示されます。SQLPlus上では問題なく検索 されるのですが、C上だとうまくいきません。 なにか足りないのでしょうか? EXEC SQL DECLARE cur4 CURSOR FOR SELECT DISTINCT b.KEIKAKU_SAKUTEI_KBN, a.SEISAN_YMD, (SELECT SEISAN_YMD FROM VIWDKJSEIS ) from VIWDKJSEIS a, TBLDKJSTNR b,TBLDKJSIRB c where b.KEIKAKU_SAKUTEI_KBN = c.KEIKAKU_SAKUTEI_KBN AND a.SEISAN_YMD = b.SAGYO_YMD AND b.SAGYO_YMD = c.SAGYO_YMD AND TO_CHAR(a.SEISAN_YMD,'YYYY/DD') = :db_senko_taisyo_ym_m;

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

すみません、やりたいことの意味がよくわからないので質問させてください。 (SELECT SEISAN_YMD FROM VIWDKJSEIS ) の部分は1行しか返ってこないデータなんですよね? 複数返ってくるとエラーになりますよね。 FROM 句は VIWDKJSEIS a となってますから、副問い合わせが返す値と a.SEISAN_YMD は同じですよね? SELECT 句に a.SEISAN_YMD があるのに、どうしてわざわざ副問い合わせを使用して (SELECT SEISAN_YMD FROM VIWDKJSEIS ) としなければならないのかがわかりません。 質問を書き込むときにどこか間違えたりしてませんか?

その他の回答 (1)

  • Struts
  • ベストアンサー率48% (29/60)
回答No.1

(SELECT SEISAN_YMD aaa FROM VIWDKJSEIS) としたらどうですか?

mako-kwnsh
質問者

お礼

お返事ありがとうございました。 SEISAN_YMDに名前をつけてみましたが、だめでした。

関連するQ&A