Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果客户已经在同一个表中,但满足不同的条件,则从MySQL查询中排除结果_Mysql_E Commerce - Fatal编程技术网

如果客户已经在同一个表中,但满足不同的条件,则从MySQL查询中排除结果

如果客户已经在同一个表中,但满足不同的条件,则从MySQL查询中排除结果,mysql,e-commerce,Mysql,E Commerce,为了创建邮件列表,我有一个废弃的购物车查询。我不想做的一件事是给任何超过废弃购物车日期的订单用户发送电子邮件,我如何将其添加到以下内容中: 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_d

为了创建邮件列表,我有一个废弃的购物车查询。我不想做的一件事是给任何超过废弃购物车日期的订单用户发送电子邮件,我如何将其添加到以下内容中:

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;
选择*
从购物车
其中订单状态=“”
和订购日期='0000-00-00'
并且客户电子邮件不为空
和添加日期>子日期(当前日期,1)
和添加日期<当前日期
品牌不是空的
和客户_电子邮件!=''
按客户分组
订单按日期添加描述;
所以现在我想排除客户ID在同一天的订单中出现的记录。如果他们下了订单,就不要在第二天给他们发电子邮件


提前感谢。

针对电子邮件地址上包含订单的表(假设在此再次使用购物车)和其他订单(假设订单id检查此部分)左键联接,并检查是否为空

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;
选择一个*
从马车上
左外连接车b
在a.customer_email=b.customer_email和a.order_id!=b、 订单号
其中a.order_status=“”
和a.date_ordered='0000-00-00'
并且a.customer\u电子邮件不为空
和a.date\u added>subdate(当前日期,1)
和a.date\u added
大家好,这肯定是正确的方向。我不明白为什么要在客户电子邮件中查找空值。实际上,如果有另一个订单的订单日期在昨天/今天之后,我只想排除该行。我想我可能解释得不好。这就是它的作用。它执行左连接,因此无论是否有匹配的记录,它都将获得一行。然后,通过在左联接表中的一个字段中检查NULL,它排除了那些它确实有匹配项的字段,因此它确实。。。非常抱歉,我错误地交叉引用了我的结果-原始查询中的两个人都返回了订单,并且都没有出现在您的版本中,非常感谢您的帮助。此外,您还完美地复制了上面的查询结构,这非常有帮助!!!