Définir les champs nuls à zéro dans MySQL
Cette requête MySQL vise à récupérer les données de diverses tables, y compris la table uc_orders (uo). Cependant, les résultats contiennent des champs nuls, qui doivent être renvoyés à zéro.
Pour y parvenir, la fonction IFNULL peut être utilisée dans les sous-requêtes :
SELECT uo.order_id, IFNULL(uo.order_total, 0) AS order_total, uo.order_status, IFNULL((SELECT SUM(uop.price * uop.qty) FROM uc_order_products uop WHERE uo.order_id = uop.order_id), 0) AS products_subtotal, IFNULL((SELECT SUM(upr.amount) FROM uc_payment_receipts upr WHERE uo.order_id = upr.order_id), 0) AS payment_received, IFNULL((SELECT SUM(uoli.amount) FROM uc_order_line_items uoli WHERE uo.order_id = uoli.order_id), 0) AS line_item_subtotal FROM uc_orders uo WHERE uo.order_status NOT IN ("future", "canceled") AND uo.uid = 4172;
La fonction IFNULL vérifie essentiellement si l’expression évaluée est nulle. Si tel est le cas, la valeur de repli spécifiée (0 dans ce cas) est renvoyée à la place. Cela garantit que la requête renverra toujours zéro pour les champs nuls.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!