반응형
이 요청이 있습니다.
SELECT sc.no, scl.quantite, scl.description, scl.poids, scl.prix, sl_ref.refsl, sl_ref.codetva, sl_ref.tauxtva, sl_ref.compte
FROM shop_commande
AS sc, shop_commande_ligne AS scl, selectline_ref AS sl_ref
WHERE sc.id = scl.shop_commande_id
AND sl_ref.refshop = ISNULL(scl.shop_article_id, 0)
AND sc.id NOT IN (SELECT id_command FROM selectline_flag)
때때로 sl_shop_article_id 에 NULL 값이 있습니다. 내가 원하는 것은 0으로 바꾸는 것이므로 절은 다음과 같습니다.
sl_ref.refshop = scl.shop_article_id
scl.shop_article_id 가 NULL 인 경우에도 작동 할 수 있습니다. 이를 위해 ISNULL 함수를 사용하려고 시도했지만 요청이 잘못되어 오류가 발생합니다.
1582-네이티브 함수 'ISNULL'호출의 잘못된 매개 변수 개수
어떻게 사용하나요?
해결 방법
IFNULL ()
함수를 사용하려고한다고 생각합니다. ISNULL
을 IFNULL
로 바꾸면 쿼리가 수정됩니다.
한 단계 더 나아가 IFNULL ()
대신 COALESCE ()
를 사용하는 것이 좋습니다. 및 IFNULL ()
은 아닙니다).
SELECT sc.no, scl.quantite, scl.description, scl.poids,
scl.prix, sl_ref.refsl, sl_ref.codetva, sl_ref.tauxtva, sl_ref.compte
FROM shop_commande
AS sc, shop_commande_ligne AS scl, selectline_ref AS sl_ref
WHERE sc.id = scl.shop_commande_id
AND sl_ref.refshop = COALESCE(scl.shop_article_id, 0)
AND sc.id NOT IN (SELECT id_command FROM selectline_flag)
참조 페이지 https://stackoverflow.com/questions/42932426
반응형
'MySql' 카테고리의 다른 글
MySQL Laravel 5 eloquent를 사용한 CONCAT 컬럼 (0) | 2020.10.26 |
---|---|
MySQL 데이터베이스가 존재하는지 (MySQL) 확인하고 PHP에서 생성하지 않은 경우 (0) | 2020.10.26 |
MySQL에 UUID v4 저장 (0) | 2020.10.26 |
MySQL - Russian characters display incorectly (0) | 2020.10.26 |
MySQL 플랫 테이블이나 정규화 된 데이터베이스를 사용해야합니까? (0) | 2020.10.26 |
댓글