2013-08-24 4 views
1

보기가 있는데 단어가있는 열에서 Null을 변경하고 싶습니다. other. 값을 올바르게 교체하지 않았다보기 만들기 및 Null 값을 단어로 바꿉니다.

CREATE VIEW APB1 AS 
    SELECT jos_jam.postcode, location_id, description, 
     category, apb.street, location, apb 
    FROM jos_jam 
    LEFT JOIN apb 
    ON jos_jam.postcode=apb.postcode; 
    FROM apb 
    UPDATE APB1 SET apb = 'Other' where apb is null 

, 나는 또한 시도 :

내가 지금까지 시도한 것입니다

CREATE VIEW APB1 AS 
    SELECT jos_jam.postcode, location_id, description, 
     category, apb.street, location, apb 
    FROM jos_jam 
    LEFT JOIN apb 
    ON jos_jam.postcode=apb.postcode; 
    REPLACE(apb.apb, 'NULL') as 'Other' 
    FROM apb 

내가 할 두 번째 쿼리에 대한 다음과 같은 오류 :

#1064 - You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'FROM apb 
UPDATE APBVolunteers4 SET apb = 'Other' where apb is null' at line 1 

이 오류는 무엇을 의미하며보기에서 null 값을 단어로 대체합니까?

답변

1

오류 메시지는 첫 번째 쿼리에서 FROM 단어 앞에 세미콜론을 사용하거나 두 번째 쿼리에서 Replace 단어를 참조합니다.

뷰 작성 명령문 내에 업데이트 명령문을 넣을 수 없습니다. 뷰에서 반환되는 내용을 업데이트하는 대신 데이터베이스를 업데이트하려고 시도하는 것 같습니다.

또한 진술의 맨 아래에있는 From APB가 필요하지 않습니다.

COALESCE() 연산자는 인수 목록에서 첫 번째 0이 아닌 값을 반환합니다.

나는이 일을해야한다고 생각 :

CREATE VIEW APB1 AS 
    SELECT jos_jam.postcode, location_id, description, category, apb.street, 
    location, COALESCE(apb, 'Other') as apb 
FROM jos_jam 
LEFT JOIN apb 
    ON jos_jam.postcode=apb.postcode 
관련 문제