【发布时间】:2013-01-24 16:29:22
【问题描述】:
我使用此查询获取昨天的所有销售额。将其导出到某个地方。
由于有很多已取消、待付款、正在处理等,我想只导出已完成的。
但不知何故mysql只是忽略了拳头限制。 我一直得到所有的销售。我写什么并不重要。 它只需要是昨天使用的状态即可。
$sql = '
SELECT
sales_flat_order_grid.entity_id,
sales_flat_order_grid.increment_id AS increment_id,
sales_flat_order_grid.quote_id AS quote_id,
sales_flat_order_grid.store_name AS store_name,
sales_flat_order_grid.created_at AS created_at,
sales_flat_order_grid.billing_name AS billing_name,
sales_flat_order_grid.payment_method AS payment_method,
sales_flat_order_grid.grand_total AS grand_total,
sales_order_status.label AS status,
sales_flat_order_item.sku AS sku,
sales_flat_order_item.name AS name,
sales_flat_order_item.price_incl_tax AS price_incl_tax,
sales_flat_order_item.product_options AS product_options,
sales_flat_order_payment.additional_information AS additional_information
FROM
sales_flat_order_grid,
sales_order_status,
sales_flat_order_item,
sales_flat_order_payment
WHERE
sales_flat_order_grid.status = "Complete"
AND sales_flat_order_grid.entity_id = sales_flat_order_item.order_id
AND sales_flat_order_grid.entity_id = sales_flat_order_payment.entity_id
AND sales_flat_order_grid.created_at >= "' . $date . ' 00:00:00"
AND sales_flat_order_grid.created_at <= "' . $date . ' 23:59:59"
ORDER BY
sales_flat_order_grid.entity_id DESC
';
【问题讨论】:
-
这应该可以正常工作 - 你确定你的问题不在其他地方吗?您是否尝试过将
'换成"和相反? -
不,我试试看
-
看不到问题的原因,但您似乎确实有一个无意的交叉连接(没有为连接到sakes_order_status 指定 JOIN 条件)
-
@h2ooooooo 没有,不幸的是没有。但是如果是这样就很俗气了^^
-
提示:您可以使用
from tablename as something,然后使用something引用该表。使查询更整洁。
标签: php mysql debian magento-1.7