postgresql 데이터베이스 초보자 입니다 ㅠㅠ
---USER 테이블---
이름 | 시간 | 상태 |
AAA | 2017-11-05 12:00:00 | 1 |
BBB | 2017-10-30 12:00:00 | 1 |
CCC | 2017-11-01 12:00:00 | 1 |
AAA | 2017-08-01 12:00:00 | 1 |
BBB | 2017-06-01 12:00:00 | 1 |
위와 같은 형식의 DB를 현재 날짜기준으로 1달이상 지난 상태에 대해서 update 쿼리로 상태를 변경하려고 하는데
막히는 부분이 있어서 질문 남깁니다.
이름 | 시간 | 상태 |
AAA | 2017-11-05 12:00:00 | 1 |
BBB | 2017-10-30 12:00:00 | 1 |
CCC | 2017-11-01 12:00:00 | 1 |
AAA | 2017-08-01 12:00:00 | 0 |
BBB | 2017-06-01 12:00:00 | 0 |
제가 하려고 하는 쿼리는 바로 위에 처럼 이름을 기준으로 봤을 때
현재 날짜에서 1달 이상 지난 이름의 상태에 대해서 0 으로 변경하려고 합니다.
select 문으로 조회까지는 실행 했는데 update를 하면 오류가 발생합니다 ㅠㅠ
어떻게 쿼리문을 짜야 할까요 ㅠㅠ
ps. 간단하게 하기 위해서 컬럼을 3개만 작성했으며 컬럼 갯수는 다릅니다
"select 문으로 조회까지는 실행 했는데 update를 하면 오류가 발생합니다 ㅠㅠ"
질문이 이게 끝인가요? 해당 사항들을 자세히 보여주셔야죠.
작성하신 select 문과 update 문 그리고 실행시 오류메시지를 보여주세요.
-- 1. Select : 갱신 대상 확인 -- SELECT * FROM t WHERE st = 1 AND dt < current_date - interval '1' month ; -- 2. Update : 1.Select 에서의 조건을 그대로 이용하여 갱신 -- UPDATE t SET st = 0 WHERE st = 1 AND dt < current_date - interval '1' month ;