プロが教える店舗&オフィスのセキュリティ対策術

こんにちは、現在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_YMDAND
b.SAGYO_YMD = c.SAGYO_YMD AND
TO_CHAR(a.SEISAN_YMD,'YYYY/DD') = :db_senko_taisyo_ym_m;

A 回答 (2件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2004/01/21 16:35

すみません、やりたいことの意味がよくわからないので質問させてください。


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す