0

你能帮我做这个查询吗

SELECT *
FROM `SC_orders`
LEFT  JOIN `SC_customer_reg_fields_values`   using(customerID)
WHERE (`statusID` = 2 OR `statusID` = 3 OR `statusID` = 21 OR `statusID` = 25 OR `statusID` = 26) AND DATE(order_time) > '2012-12-01 00-00-00'
LEFT JOIN `SC_ordered_carts`
ON orderID = orderID
GROUP BY orderID

我尝试将 3 个表中的信息合并到一个输出中。此查询在没有最后一个 LEFT JOIN 和分组的情况下工作正常。我的错误在哪里?

4

1 回答 1

3

where需要在最后一次加入之后。另外,第二个ON子句是模棱两可的,我认为这group by是不必要的,因为您没有任何聚合函数:

SELECT *
FROM `SC_orders`
LEFT JOIN `SC_customer_reg_fields_values`   using(customerID)
LEFT JOIN `SC_ordered_carts` using(orderID)
WHERE (`statusID` = 2 OR `statusID` = 3 OR `statusID` = 21 OR `statusID` = 25 OR `statusID` = 26) AND DATE(order_time) > '2012-12-01 00-00-00'
于 2013-01-17T21:51:59.307 回答