반응형
조건이 null인 경우 기본값으로 행 추가
일부 필드가 null이면 기본값으로 행을 추가해야 합니다.
다음 SELECT 조항을 상상해 보십시오.
SELECT date, id, name, COALESCE(value1, -1), COALESCE(value2, -1),
COALESCE(value3, -1)
FROM (SELECT DATE("startDate" + INTERVAL(seq_ref.seq - 1) MONTH) AS month_ref
FROM (SELECT seq FROM seq_1_to_36) seq_ref, table) table
WHERE...
그리고 다음 데이터 세트:
date id name value1 value2 value3
2016-01-01 1 TEST LEFT 12 14 22
2016-01-01 1 TEST RIGHT 32 11 74
2016-02-01 1 null -1 -1 -1
2016-03-01 1 TEST LEFT 09 66 33
2016-03-01 1 TEST RIGHT 13 41 20
기본적으로 날짜 범위의 일부 데이터를 반환합니다.그러나 일부 월에 데이터가 없는 경우 값에 대해 -1을 반환합니다.데이터가 없으면 id와 name 기본값으로 두 행을 추가하는 방법이 있는지 알고 싶습니다.
예: on2016-02-01
제가 한 줄을 보여드릴 수 있을 것 같습니다.TEST LEFT
-1에서 값 및TEST RIGHT
값에 -1을 적용합니다.
편집: 결과는 다음과 같습니다.
date id name value1 value2 value3
2016-01-01 1 TEST LEFT 12 14 22
2016-01-01 1 TEST RIGHT 32 11 74
2016-02-01 1 TEST LEFT -1 -1 -1
2016-02-01 1 TEST RIGHT -1 -1 -1
2016-03-01 1 TEST LEFT 09 66 33
2016-03-01 1 TEST RIGHT 13 41 20
그게 가능한가요?
IFNULL() 기능을 사용할 수 있습니다.IFNULL(식, 값)은 식이 null인지 확인하고 null이면 value parameter로 대체합니다. 아마 다음과 같은 작업을 수행할 수 있을 것입니다.
SELECT date, id, name, IFNULL(value1, -1), IFNULL(value2, -1),
IFNULL(value3, -1)
FROM (SELECT DATE("startDate" + INTERVAL(seq_ref.seq - 1) MONTH) AS month_ref
FROM (SELECT seq FROM seq_1_to_36) seq_ref, table) table
WHERE...
도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/50817899/adding-rows-with-default-values-if-condition-is-null
반응형
'source' 카테고리의 다른 글
Sequelize.js 외래 키 (0) | 2023.10.19 |
---|---|
레거시 API를 사용하여 MySQL 쿼리가 성공했는지 확인하는 방법은? (0) | 2023.10.19 |
일반 자바스크립트 jQuery.param()과 동등한 jQuery.param() (0) | 2023.10.19 |
BLOB Oracle 10g에 이미지 삽입 (0) | 2023.10.19 |
Android 에뮬레이터에서 화면 방향을 변경하려면 어떻게 해야 합니까? (0) | 2023.10.19 |