Nullfelder in MySQL auf Null setzen
Diese MySQL-Abfrage zielt darauf ab, Daten aus verschiedenen Tabellen abzurufen, einschließlich der Tabelle uc_orders (uo). Die Ergebnisse enthalten jedoch Nullfelder, die stattdessen als Null zurückgegeben werden sollen.
Um dies zu erreichen, kann die IFNULL-Funktion innerhalb der Unterabfragen verwendet werden:
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;
Die IFNULL-Funktion Prüft im Wesentlichen, ob der ausgewertete Ausdruck null ist. Wenn dies der Fall ist, wird stattdessen der angegebene Fallback-Wert (in diesem Fall 0) zurückgegeben. Dadurch wird sichergestellt, dass die Abfrage für Nullfelder immer Null zurückgibt.
Das obige ist der detaillierte Inhalt vonWie ersetze ich NULL-Felder in einer MySQL-Abfrage durch Nullen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!