によっては、私は、次のSQLクエリを持っています。グループ化されたクーポンコードと関連する値のリストが必要です。MySQLのグループNULL値
誰も私の結果に "no code"という値が見つからない理由を知っていますか?
ありがとうございました。
によっては、私は、次のSQLクエリを持っています。グループ化されたクーポンコードと関連する値のリストが必要です。MySQLのグループNULL値
誰も私の結果に "no code"という値が見つからない理由を知っていますか?
ありがとうございました。
私の勘では、あなただけの結果セットから省略されているsfo.status = NULL
とレコードのcoupon_code
ためNULL
値を、持っているということです。
次のクエリを試してみてください:COALESCE式はCASE式の構文上のショートカットですので
SELECT date_format(sfo.shipping_arrival_date,"%m.%Y") AS Month,
date_format(sfo.shipping_arrival_date,"%v") AS Week,
date_format(sfo.shipping_arrival_date,"%d.%m.%Y") AS Shipping Day,
CASE
WHEN sfo.coupon_code IS NOT NULL THEN sfo.coupon_code
ELSE 'no Code'
END as Coupon,
sfo.coupon_rule_name,
sfo.grand_total AS Endsumme,
sfo.base_subtotal + sfo.shipping_incl_tax AS Sum_Incl_Shipping,
sfo.discount_amount,
count(sfo.entity_id) AS uses
FROM sales_flat_order AS sfo
WHERE sfo.status <> 'canceled' OR sfo.status IS NULL
GROUP BY Coupon
ORDER BY sfo.shipping_arrival_date DESC
私は... ... CASEの代わりに
...
COALESCE(sfo.coupon_code,'no Code') AS Coupon
...
GROUP BY Coupon
をCOALESCEを使用したいですそれははるかに明確で簡潔です
結果は何ですか?クーポンに同じヌル値を返していますか? – sravs
GROUP BY句を省略すると、クーポンコードに「コードなし」と表示されますか?この結果セットにNULL値がない可能性があります。 –
結果セットに「コードなし」はありません。 group by節を削除すると、 "no code"という行が1行表示されますが、他の列はすべてnullです。 – Torben