gpt4 book ai didi

mysql - 查询 oscommerce 中未售出产品的日期范围

转载 作者:行者123 更新时间:2023-11-29 12:45:02 25 4
gpt4 key购买 nike

我有以下查询来检查我的 oscommerce 商店中是否有未售出的产品。

$products_query_raw = " select p.products_id, p.products_quantity, p.products_model, pd.products_name from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd) LEFT JOIN " . TABLE_ORDERS_PRODUCTS . " op ON p.products_id = op.products_id where op.products_id IS NULL and p.products_id = pd.products_id order by p.products_model";

这似乎工作正常,但我想将其限制为搜索某个日期范围内未售出的产品。订单日期位于表 ORDERS 中,订购的产品位于表 ORDER_PRODUCTS 中。

我尝试了一些方法,但似乎无法做到正确,如果有人可以帮助我,我将不胜感激。

最佳答案

今天早上我确实问了几乎同样的问题,但更笼统地说MySQL Querying Multiple Tables

@evanv 很好地解释了它的技巧...另外,@aphextwix 指出了一个关于使用 JOIN 的很棒的教程 http://www.sitepoint.com/understanding-sql-joins-mysql-database/

让我搞砸的部分是 LEFT JOIN 和子查询。

这是我认为您想要的 oscommerce 术语的查询...

$number_of_days = "7";
$unsold_products_query = tep_db_query("SELECT a.* FROM " . TABLE_PRODUCTS . " AS a LEFT JOIN (SELECT products_id FROM " . TABLE_ORDERS_PRODUCTS . " as b INNER JOIN " . TABLE_ORDERS . " AS c ON b.orders_id = c.orders_id WHERE c.date_purchased >= date_sub(c.date_purchased, INTERVAL " . $number_of_days . " day) GROUP BY products_id) AS d ON a.products_id = d.products_id WHERE d.products_id IS NULL");
$unsold_products_array = tep_db_fetch_array($unsold_products_query);

如果您想使用上次购买该商品的日期以外的日期,您当然需要替换 date_sub() 函数中的 c.date_purchased。

希望有帮助。

关于mysql - 查询 oscommerce 中未售出产品的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25570985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com