私は、2つの一時テーブルとして "puri"と "mailraku"を持っています。このクエリを修正するには? "IN"に関するドキュメントには言及していません。IN演算子を一時テーブルで使用する方法
UPDATE tr_lines_alls
SET ACT_FLG = 0
WHERE IMG_ID IN (puri, mailraku);
エラーは言う:
Unknown column 'puri' in 'where clause'
私は、2つの一時テーブルとして "puri"と "mailraku"を持っています。このクエリを修正するには? "IN"に関するドキュメントには言及していません。IN演算子を一時テーブルで使用する方法
UPDATE tr_lines_alls
SET ACT_FLG = 0
WHERE IMG_ID IN (puri, mailraku);
エラーは言う:
Unknown column 'puri' in 'where clause'
IN
オペレータは、テーブルのためではなく、値のリストのために!あなたはこのような何かをしたいですか
UPDATE tr_lines_alls
SET ACT_FLG = 0
WHERE IMG_ID IN (
SELECT * FROM (
(SELECT yourcolumn FROM puri) UNION
(SELECT yourcolumn FROM mailraku)
) AS tmp_union
);
私はあなたの解決策を試しました: UPDATE tr_lines_alls SET ACT_FLG = 0 どこのIMG_ID IN((IMG_ID FROM puri)UNION(SELECT IMG_ID FROM mailraku)); - 「UNION(SELECT IMG_ID FROM mailraku)」の近くのエラー構文; – Emerald214
UNIONクエリは単一テーブル式のラッパーでなければならないようです。私は答えを更新しました。やってみよう。 –
私はこれを試みた: UPDATEは、SET ACT_FLG IN IMG_IDは( \t(プリFROM IMG_ID選択)UNION(mailraku FROM IMG_ID選択)TEMP AS FROM IMG_IDを選択)= 0 をtr_lines_alls。 - エラー "#1248 - すべての派生テーブルには別のエイリアスが必要です" – Emerald214
:
たぶんとして何かが必要? IN演算子は、一時列を値または列名のみとしません。 あなたがプリとmailraku表にimg_idとの一致を更新するために、テーブルにimg_id条件であなたのテーブルを更新したい場合は、uはこれを試すことができます。
UPDATE tr_lines_alls
SET ACT_FLG = 0
WHERE tr_lines_alls.IMG_ID = puri.IMG_ID and tr_lines_alls.IMG_ID = mailkaru.IMG_ID
'puri'テーブルと' mailkaru'テーブルがいずれのステートメントでもロードされていないため、そのコードは機能しません。さらに、これらのテーブルをロードしてそのクエリを使用すると、両方のテーブルに一致する 'IMG_ID'を持つ行を更新します。これは、ユーザが望むものではないと思います。 –
はい、私の答えは間違っています。しかし、私の貧しい2点。 ;) – Shades88
プリとmailrakuのテーブル構造は何ですか? INには一連の値またはサブクエリが必要です – codeling
クエリには何をしたいですか? puriとmailrakuテーブルのimg_idとの一致を更新するために、テーブルのimg_idという条件でカラムを更新したいですか? – Shades88
IMG_IDをセットにしたtr_lines_allsテーブルのACT_FLGを更新します。このセットには2つの一時テーブルが含まれています。一時テーブルには列IMG_IDが1つしかありません。 – Emerald214