답변:
0
쿼리가 0 행을 반환 할 때 (alas 1 row) 를 표시 하려면 다음을 사용할 수 있습니다.
SELECT COALESCE(
( SELECT MAX(post_id) FROM my_table WHERE org_id = 3 )
, 0) AS max_id
위 중 하나를 작동시킬 수 없습니다.
여기 내가 이것을 위해 일한 것이 있습니다 :
SELECT COALESCE(A.max_id, B.dflt) FROM (
SELECT MAX(post_id) AS max_id FROM my_table WHERE org_id = 3) A
RIGHT OUTER JOIN (SELECT 0 AS dflt) B
ON 1 = 1
나는 우아한 해결책이 아니라 일을한다.
행을 찾을 수 없으면 기본값을 반환하십시오.
SELECT IFNULL(s_stock, 5)
FROM stock_info
WHERE s_product_id = '43';
IFNULL
Postgres (또는 표준 SQL)에서 유효한 구문이 아닙니다. MySQL에서 사용됩니다.
SELECT coalesce(MAX(post_id),0) AS max_id FROM my_table WHERE org_id = 3
나를 위해 잘 작동합니다.