Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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_Sql - Fatal编程技术网

mysql获取每个客户在开放购物车日期范围内订购的所有产品的列表

mysql获取每个客户在开放购物车日期范围内订购的所有产品的列表,mysql,sql,Mysql,Sql,我需要获得一份客户列表,以及他们从数据库中订购的内容,以便发送每周报表。我希望结果显示如下: 客户姓氏客户姓氏 订单\产品名称订单\产品数量 订单\产品名称订单\产品数量 等等… 针对每位客户 以下是我的表(如果有帮助,请将不相关的列保留在默认打开的购物车之外): 客户 名字 姓氏 订单 客户id 订单号 添加日期\u 订购产品 订单号 名称 数量 由于Catcall-date范围,工作正常 $sql = "select c.customer_id, c.firstname, c.la

我需要获得一份客户列表,以及他们从数据库中订购的内容,以便发送每周报表。我希望结果显示如下:

客户姓氏客户姓氏

订单\产品名称订单\产品数量
订单\产品名称订单\产品数量
等等…

针对每位客户

以下是我的表(如果有帮助,请将不相关的列保留在默认打开的购物车之外):

客户

名字
姓氏

订单

客户id
订单号
添加日期\u

订购产品

订单号
名称
数量

由于Catcall-date范围,工作正常

    $sql =  "select c.customer_id, c.firstname, c.lastname, 
                       o.order_id, o.date_added, 
                       op.name, op.quantity
                from `" . DB_PREFIX . "customer` c
                inner join `" . DB_PREFIX . "order` o on o.customer_id = c.customer_id
                inner join `" . DB_PREFIX . "order_product` op on o.order_id = op.order_id";

有人能解释一下如何将数组处理成以前在标准SQL中请求的php格式吗?您可以按照这些方法来获取数据

select c.customer_id, c.first_name, c.last_name, 
       o.order_id, o.date_added, 
       op.name, op.quantity
from customer c
inner join orders o on o.customer_id = c.customer_id
inner join order_products op on o.order_id = op.order_id
where date_added > current_date - interval '7' day;
但日期算法高度依赖于平台


通常情况下,您不会关心SQL级别的事情是如何排列的。将客户名称放在输出的第一行,将产品名称放在第二行是一个显示问题——您的报告编写者应该对此负责。(除其他外,它允许您对许多不同的报表使用相同的查询。)

在标准SQL中,您可以按照这些方法来获取数据

select c.customer_id, c.first_name, c.last_name, 
       o.order_id, o.date_added, 
       op.name, op.quantity
from customer c
inner join orders o on o.customer_id = c.customer_id
inner join order_products op on o.order_id = op.order_id
where date_added > current_date - interval '7' day;
但日期算法高度依赖于平台


通常情况下,您不会关心SQL级别的事情是如何排列的。将客户名称放在输出的第一行,将产品名称放在第二行是一个显示问题——您的报告编写者应该对此负责。(除其他外,它允许您对许多不同的报告使用相同的查询。)

我得到‘注意:错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以了解正确的语法,以便在第5行错误号1064处使用“o.customer_id=c.customer_id内部加入订单产品op on o.”附近使用c.customer_id、c.first_name、c.last_name、o.order_id、o.date_added、op.name、,在mysql上第49行的/Users/iMac/Sites/responsivecart/system/database/mysql.php中,来自客户c内部连接订单o的op.quantity在o.customer\u id=c.customer\u id内部连接订单o上的op.customer\u id在o.order\u id=c.customer\u id内部连接订单o上的op产品,您可能应该这样做。(order是一个保留字。)我得到‘注意:错误:您的SQL语法有一个错误;检查与您的MySQL服务器版本相对应的手册,以了解正确的语法,以便在第5行错误号1064处使用“o.customer_id=c.customer_id内部加入订单产品op on o.”附近使用c.customer_id、c.first_name、c.last_name、o.order_id、o.date_added、op.name、,在mysql上第49行的/Users/iMac/Sites/responsivecart/system/database/mysql.php中,来自客户c内部连接订单o的op.quantity在o.customer\u id=c.customer\u id内部连接订单o上的op.customer\u id在o.order\u id=c.customer\u id内部连接订单o上的op产品,您可能应该这样做。(顺序是一个保留字。)