반응형
레코드를 찾을 수 없는 경우 sql이 0을 값으로 가져옵니다.
간단한 질문이 있는데 제게 도움이 될 수가 없네요.현재 날짜로 문의를 했고 내일이 화요일이라고 하자 하지만 미래이기 때문에 아직 자료가 없습니다.아직 기록이 남아있을 순 없어요
쿼리를 실행하면 두 개의 열만 표시됩니다.total | Date
내 말대로 되는 거지하지만 지금은 나에게 보여주고 싶습니다.0
주목하는 대신에 두 개의 열만.
COALESCE를 검색해 보았지만 어떤 이유에서인지 작동하지 않았습니다.
SELECT
SUM(totalExcl) AS total,
DATE_FORMAT(date_add, '%W') AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
내가 가진 것(표) =
| |total | Date
원하는 것(표) =
| |total | Date
0 Tuesday
오늘은 수요일이므로 현재 날짜이며 이것이 표시되는 것입니다(btw 이것은 현재입니다). 그냥 보여주는 것입니다.
| |total | Date
500 Wednesday
이거 먹어봐요.
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
DAYNAME(date_add) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
아니면 이렇게 해도 됩니다.
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
IF(DATE_FORMAT(date_add, '%W') is null,DAYNAME(now()),DATE_FORMAT(date_add, '%W')) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
IFNULL로 시도...
SELECT
IFNULL(SUM(totalExcl),0) AS total,
DATE_FORMAT(date_add, '%W') AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
언급URL : https://stackoverflow.com/questions/42536463/sql-get-zero-as-value-if-no-records-been-found
반응형
'programing' 카테고리의 다른 글
Oracle에서 "||" 연산자와 concat 함수의 차이점은 무엇입니까? (0) | 2023.09.13 |
---|---|
타원이 없는 출력으로 파워셸 스크립트 변경(...) (0) | 2023.09.13 |
MySQL 5.7.27을 시작할 수 없음 (0) | 2023.09.13 |
FK가 있는 모든 테이블을 다른 테이블로 이동하는 방법은 무엇입니까? (0) | 2023.09.13 |
워드프레스에 첨부파일을 첨부하여 이메일을 보내는 방법은? (0) | 2023.09.13 |