2013-02-19 3 views
1

두 개의 테이블이 있습니다. 첫 번째는 주 정보를 저장하고 두 번째 테이블은 몇 가지 추가 정보를 저장합니다. 두 번째 테이블에 저장된 일부 데이터의 도움으로 첫 번째 테이블을 업데이트해야합니다. 나는이Sql Update with Join statemant

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() 

하지만 그 작동하지 않는 등의 UPDATE 문을 시도보다

내 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() 

을하고있다. 이 오류가 발생했습니다

* SQL 구문에 오류가 있습니다. 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. '뉴스 INNER JOIN 뉴스 _ 정보 _ ON 뉴스 _ 뉴스 _ = = 뉴스 _ 뉴스 _ 뉴스 _ 뉴스 _ 뉴스 _ 뉴스 _'에서 가까운 을 사용하십시오. ' 2 호선에서 *

답변

1

구문은 SQL Server입니다. 여기

당신은 SQL 서버 더 잘 알고 있어야합니다 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() 
+0

너무 감사드립니다. – pikk

+0

당신을 환영합니다': D' –

0

구문입니다. 사용중인 구문은 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() 

- 이렇게 해보십시오.

Check similar thread