0

テーブル m4zbv_mt_cfvalues があり、cf_id と link_id に同じ値を持つレコードが存在しない場合にレコードを挿入したい

select ステートメントからのすべてのレコードに対してこの挿入を行うのが好きです。最初の条件と挿入には link_id を使用する必要があります。

INSERT INTO m4zbv_mt_cfvalues (cf_id, link_id,value) 
 SELECT 87, link_id ,1
 FROM dual 
 WHERE NOT EXISTS
    ( SELECT *
      FROM m4zbv_mt_cfvalues
      WHERE cf_id = 87
        AND link_id = link_id
    )
    SELECT link_id from from m4zbv_mt_links where Upper(link_name) like'%APPLIANCE  DEFAULT PASSWORDS%' ;

すべての値を指定すると、挿入が機能します。Select link_id ステートメントを追加すると、機能しなくなります。テーブルm4zbv_mt_linksから選択条件とlink_idですべてのレコードを取得する方法がわかりません

助けてくれてありがとう

マンフレッド

4

1 に答える 1

0

あなたのコードはそのようなものです

 SELECT link_id from from

1つだけ削除しますFROM

これを試して

   INSERT INTO m4zbv_mt_cfvalues (cf_id, link_id,value) 
    SELECT 87, link_id ,1
    FROM dual 
    WHERE NOT EXISTS
             ( SELECT *
              FROM m4zbv_mt_cfvalues
              WHERE cf_id = 87
              AND link_id = (SELECT link_id from m4zbv_mt_links where Upper(link_name) like'%APPLIANCE  DEFAULT PASSWORDS%')
)
 ;
于 2013-01-31T17:40:12.477 に答える