1

2つのテーブルがあります。最初のテーブルにはメイン情報が格納され、2番目のテーブルにはいくつかの追加情報が格納されます。2番目のテーブルに保存されているデータを使用して、最初のテーブルを更新する必要があります。

SELECTステートメントが機能しています

SELECT  news.news_id, 
        news.title, 
        news.cat_id, 
        news.sub_cat_id, 
        news_extra.date_vision_tr
FROM news_extra
    JOIN news 
        ON news.news_id = news_extra.news_id
WHERE news.cat_id=1 AND sub_cat_id=5 AND news_extra.date_vision_tr < CURDATE()

このようなUPDATEステートメントを試したより

UPDATE news SET news.sub_cat_id=8 
FROM news
   INNER JOIN news_extra
        ON news.news_id = news_extra.news_id
WHERE news.cat_id=1 AND sub_cat_id=5 AND news_extra.date_vision_tr < CURDATE() 

しかし、それは機能していません。このエラーを与える

*SQL構文にエラーがあります。「FROMnewsINNERJOIN news_extra ON news.news_id = news_extra.news_id WHERE news」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。2行目*

4

2 に答える 2

1

使用している構文はforSQL Serverです。

の構文は次のとおりですMySQL

UPDATE  news a
        INNER JOIN news_extra b
            ON a.news_id = b.news_id
SET     a.sub_cat_id = 8 
WHERE   a.cat_id = 1 and 
        sub_cat_id = 5 and 
        b.date_vision_tr < CURDATE() 
于 2013-02-19T09:01:02.450 に答える
0

SQLServerに精通している必要があります。使用している構文はSQLServerで機能します。MySQLの場合:

UPDATE news
INNER JOIN news_extra
ON news.news_id = news_extra.news_id
SET news.sub_cat_id=8 
WHERE news.cat_id=1 and sub_cat_id=5 and news_extra.date_vision_tr < CURDATE()

-この方法を試してください。

同様のスレッドを確認してください

于 2013-02-19T09:04:27.233 に答える