0

メーリング リストを作成するために、放棄されたカート クエリがあります。私がやりたくないことの 1 つは、放棄されたカートの日付を過ぎて注文した人に電子メールを送信することです。それを以下に追加するにはどうすればよいでしょうか。

select *
from cart
where order_status = ''
and date_ordered = '0000-00-00'
and customer_email IS NOT NULL
and date_added > subdate(current_date, 1)
and date_added < current_date
and brand Is Not Null
and customer_email != ' '
group by customer
order by date_added desc;

そこで、同じ日の注文に対して顧客 ID が存在するレコードを除外したいと思います。彼らが注文した場合、翌日に電子メールを送信しないように。

前もって感謝します。

4

1 に答える 1

1

電子メール アドレスと別の注文 (この部分をチェックするために order_id を想定) の注文 (ここでもカートを想定) を含むテーブルに対して左結合し、NULL をチェックします。

select a.*
from cart a
LEFT OUTER JOIN cart b
ON a.customer_email = b.customer_email AND a.order_id != b.order_id
where a.order_status = ''
and a.date_ordered = '0000-00-00'
and a.customer_email IS NOT NULL
and a.date_added > subdate(current_date, 1)
and a.date_added < current_date
and a.brand Is Not Null
and a.customer_email != ' '
AND b.customer_email IS NULL
group by a.customer
order by a.date_added desc;
于 2013-07-02T10:11:59.673 に答える