Mysql 如何使用JOIN创建查询,以及在何处或如何使他们成为朋友?
我需要做一个查询,其中有客户的姓名和他们每月的订单列。 某些客户端在某些月份没有订单,这些字段必须有0。 问题是,当我在一个查询*中使用WHERE和OUTER JOIN(无论是哪一个)时,NESSARY zero’s cuteed by WHERE。那我怎么解决呢 表的描述符被固定Mysql 如何使用JOIN创建查询,以及在何处或如何使他们成为朋友?,mysql,join,Mysql,Join,我需要做一个查询,其中有客户的姓名和他们每月的订单列。 某些客户端在某些月份没有订单,这些字段必须有0。 问题是,当我在一个查询*中使用WHERE和OUTER JOIN(无论是哪一个)时,NESSARY zero’s cuteed by WHERE。那我怎么解决呢 表的描述符被固定 SELECT name , ordering.id_client , COUNT(order_date) FROM ordering RIGHT OUTER JOIN clie
SELECT name
, ordering.id_client
, COUNT(order_date)
FROM ordering
RIGHT
OUTER
JOIN client
ON client.id_client = ordering.id_client
WHERE month(order_date) = 1
GROUP
BY name;
尝试从客户端表开始的简单左连接
SELECT client.name
, client.id_client
, COUNT(order_date)
FROM client
LEFT JOIN ordering ON client.id_client = ordering.id_client
AND month(ordering.order_date) = 1
GROUP BY client.id_client;
如果联接条件与左联接表相关,则将此条件添加到相关的ON子句中,而不是添加到where中,否则此操作将作为内部联接将日期的条件放入ON子句中,并删除其中:
ON client.id_client=ordering.id_client and month(order_date)=1
它可以工作。谢谢你的帮助,sry因为缺少信息,我只是不明白,你需要什么信息)id没有帮助更新你的问题添加一个适当的数据样本作为表格文本(而不是图像)和预期结果(不仅仅是你的actula结果)。。如果我们不知道起始数据,我们将无法评估结果。答案将更新为建议。。for join子句
SELECT client.name
, client.id_client
, COUNT(order_date)
FROM client
LEFT JOIN ordering ON client.id_client = ordering.id_client
AND month(ordering.order_date) = 1
GROUP BY client.id_client;