Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
Php 提取特定的捆绑产品订单_Php_Mysql_Sql - Fatal编程技术网

Php 提取特定的捆绑产品订单

Php 提取特定的捆绑产品订单,php,mysql,sql,Php,Mysql,Sql,如何从下表中提取特定的捆绑产品订单。例如,如果我想提取产品无线鼠标用作捆绑产品的所有订单 预期结果1: orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3

如何从下表中提取特定的捆绑产品订单。例如,如果我想提取产品
无线鼠标
用作捆绑产品的所有订单

预期结果1:

orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3 1003 Wireless Mouse 4 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 1001 PC 3 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 订单\u标识产品\u名称数量 1000无线鼠标1 1000台笔记本电脑1 1001无线鼠标3 1001件3件 1003无线鼠标4 1003 IPAD 4 第二个问题:

orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3 1003 Wireless Mouse 4 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 1001 PC 3 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 如果我只想提取“无线鼠标”作为捆绑包使用的产品订单,我该怎么做

预期结果2:

orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3 1003 Wireless Mouse 4 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 1001 PC 3 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 订单\u标识产品\u名称数量 1000台笔记本电脑1 1001件3件 1003 IPAD 4 如果可能,请在以下方面帮助我:

如果我只想提取与“无线鼠标”捆绑使用的“笔记本电脑”订单,我该怎么做

预期结果3:

orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3 1003 Wireless Mouse 4 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 1001 PC 3 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 订单\u标识产品\u名称数量 1000台笔记本电脑1 示例数据:

orders_id product_name qty 1000 Wireless Mouse 1 1000 Laptop 1 1001 Wireless Mouse 3 1001 PC 3 1003 Wireless Mouse 4 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 1001 PC 3 1003 IPAD 4 orders_id product_name qty 1000 Laptop 1 表1:订单

id customer_id order_price purchase_date 1000 1 203 12/6/2011 1001 2 304 12/6/2011 1002 1 1000 12/6/2011 1003 1 233 12/6/2011 1004 1 44 12/7/2011 1005 3 50 12/7/2011 1006 4 67 12/7/2011 1007 5 99 12/7/2011 1008 6 299 12/7/2011 1009 7 199 12/7/2011 id email name 1 aa@dealboard.com.au james 2 bb@dealboard.com.au Ryan 3 cc@live.com.au Sili 4 dd@acgglobal.com Mame 5 ee.heinrich@det.nsw.edu.au Kane 6 ff@optusnet.com.au Kratos 7 ssy@hotmail.com Kim id name 1 Laptop 2 PC 3 Wireless Mouse 4 IPAD 5 iphone 6 Wireless Keyboard 7 Printer 8 Glaxy S3 9 Scanner 10 PS3 id orders_id product_id qty 1 1000 1 1 2 1000 3 1 3 1001 2 3 4 1001 3 3 5 1003 4 4 6 1003 3 4 7 1004 5 1 8 1005 6 1 9 1007 7 2 10 1008 8 1 id客户\u id订单\u价格购买\u日期 1000 1 203 12/6/2011 1001 2 304 12/6/2011 1002 1 1000 12/6/2011 1003 1 233 12/6/2011 1004 1 44 12/7/2011 1005 3 50 12/7/2011 1006 4 67 12/7/2011 1007 5 99 12/7/2011 1008 6 299 12/7/2011 1009 7 199 12/7/2011 表2:客户

id customer_id order_price purchase_date 1000 1 203 12/6/2011 1001 2 304 12/6/2011 1002 1 1000 12/6/2011 1003 1 233 12/6/2011 1004 1 44 12/7/2011 1005 3 50 12/7/2011 1006 4 67 12/7/2011 1007 5 99 12/7/2011 1008 6 299 12/7/2011 1009 7 199 12/7/2011 id email name 1 aa@dealboard.com.au james 2 bb@dealboard.com.au Ryan 3 cc@live.com.au Sili 4 dd@acgglobal.com Mame 5 ee.heinrich@det.nsw.edu.au Kane 6 ff@optusnet.com.au Kratos 7 ssy@hotmail.com Kim id name 1 Laptop 2 PC 3 Wireless Mouse 4 IPAD 5 iphone 6 Wireless Keyboard 7 Printer 8 Glaxy S3 9 Scanner 10 PS3 id orders_id product_id qty 1 1000 1 1 2 1000 3 1 3 1001 2 3 4 1001 3 3 5 1003 4 4 6 1003 3 4 7 1004 5 1 8 1005 6 1 9 1007 7 2 10 1008 8 1 id电子邮件名称 1.aa@dealboard.com.au詹姆斯 2.bb@dealboard.com.au赖安 3.cc@live.com.au西里 4.dd@acgglobal.com玛米 5 ee。heinrich@det.nsw.edu.au凯恩 6.ff@optusnet.com.au奎托斯 7.ssy@hotmail.com基姆 表3:产品

id customer_id order_price purchase_date 1000 1 203 12/6/2011 1001 2 304 12/6/2011 1002 1 1000 12/6/2011 1003 1 233 12/6/2011 1004 1 44 12/7/2011 1005 3 50 12/7/2011 1006 4 67 12/7/2011 1007 5 99 12/7/2011 1008 6 299 12/7/2011 1009 7 199 12/7/2011 id email name 1 aa@dealboard.com.au james 2 bb@dealboard.com.au Ryan 3 cc@live.com.au Sili 4 dd@acgglobal.com Mame 5 ee.heinrich@det.nsw.edu.au Kane 6 ff@optusnet.com.au Kratos 7 ssy@hotmail.com Kim id name 1 Laptop 2 PC 3 Wireless Mouse 4 IPAD 5 iphone 6 Wireless Keyboard 7 Printer 8 Glaxy S3 9 Scanner 10 PS3 id orders_id product_id qty 1 1000 1 1 2 1000 3 1 3 1001 2 3 4 1001 3 3 5 1003 4 4 6 1003 3 4 7 1004 5 1 8 1005 6 1 9 1007 7 2 10 1008 8 1 身份证名称 1台笔记本电脑 2件 3无线鼠标 4台IPAD 5 iphone 6无线键盘 7打印机 8 Glaxy S3 9扫描仪 10 PS3 表4:产品订单

id customer_id order_price purchase_date 1000 1 203 12/6/2011 1001 2 304 12/6/2011 1002 1 1000 12/6/2011 1003 1 233 12/6/2011 1004 1 44 12/7/2011 1005 3 50 12/7/2011 1006 4 67 12/7/2011 1007 5 99 12/7/2011 1008 6 299 12/7/2011 1009 7 199 12/7/2011 id email name 1 aa@dealboard.com.au james 2 bb@dealboard.com.au Ryan 3 cc@live.com.au Sili 4 dd@acgglobal.com Mame 5 ee.heinrich@det.nsw.edu.au Kane 6 ff@optusnet.com.au Kratos 7 ssy@hotmail.com Kim id name 1 Laptop 2 PC 3 Wireless Mouse 4 IPAD 5 iphone 6 Wireless Keyboard 7 Printer 8 Glaxy S3 9 Scanner 10 PS3 id orders_id product_id qty 1 1000 1 1 2 1000 3 1 3 1001 2 3 4 1001 3 3 5 1003 4 4 6 1003 3 4 7 1004 5 1 8 1005 6 1 9 1007 7 2 10 1008 8 1 id订单\u id产品\u id数量 1 1000 1 1 2 1000 3 1 3 1001 2 3 4 1001 3 3 5 1003 4 4 6 1003 3 4 7 1004 5 1 8 1005 6 1 9 1007 7 2 10 1008 8 1
对不起,各位,我今天问得太多了。

关于问题1

如下面所示,查询是嵌套的

子查询2获取其上有
无线鼠标的所有订单id
子查询1统计存在
无线鼠标的每个
订单ID
的记录数
主查询加入来自
产品\u订单
产品

Main Query -- Subquery 1 --- Subquery 2
对于问题2

问题1
,您只需在
WHERE
子句中添加添加条件,即可过滤所有记录,而无需
无线鼠标

...
WHERE   bbb.name <> 'Wireless Mouse'
。。。
其中bbb.name“无线鼠标”
质疑,

SELECT   aaa.orders_id, bbb.name, aaa.qty
FROM     products_orders aaa
         INNER JOIN products bbb
             ON bbb.id = aaa.product_id
         INNER JOIN
          (
            SELECT  aa.ORDERS_ID
            FROM    products_orders aa
                    INNER JOIN
                    (
                      SELECT  orders_id
                      FROM    products_orders a
                              INNER JOIN products b
                                ON b.id = a.product_id
                      WHERE   name = 'Wireless Mouse'
                    ) bb ON aa.orders_id = bb.orders_id
            GROUP BY aa.ORDERS_ID
            HAVING COUNT(*) > 1
          ) ccc ON aaa.orders_id = ccc.orders_id
WHERE   bbb.name <> 'Wireless Mouse'
选择aaa.orders\u id、bbb.name、aaa.qty
从产品到订单aaa
内连接产品bbb
在bbb.id=aaa.product\u id上
内连接
(
选择aa.ORDERS\u ID
从产品到订单aa
内连接
(
选择订单号
从产品到订单a
内连接产品b
在b.id=a.product\u id上
其中name='无线鼠标'
)aa.orders\u id=bb.orders\u id上的bb
按aa.ORDERS\U ID分组
计数(*)大于1的
)aaa.orders\u id上的ccc=ccc.orders\u id
其中bbb.name“无线鼠标”
对于问题3

就像问题2一样,添加额外的条件

...
WHERE   bbb.name <> 'Wireless Mouse' AND
        bbb.name = 'Laptop'
。。。
其中bbb.name“无线鼠标”和
bbb.name='笔记本电脑'
质疑,

SELECT   aaa.orders_id, bbb.name, aaa.qty
FROM     products_orders aaa
         INNER JOIN products bbb
             ON bbb.id = aaa.product_id
         INNER JOIN
          (
            SELECT  aa.ORDERS_ID
            FROM    products_orders aa
                    INNER JOIN
                    (
                      SELECT  orders_id
                      FROM    products_orders a
                              INNER JOIN products b
                                ON b.id = a.product_id
                      WHERE   name = 'Wireless Mouse'
                    ) bb ON aa.orders_id = bb.orders_id
            GROUP BY aa.ORDERS_ID
            HAVING COUNT(*) > 1
          ) ccc ON aaa.orders_id = ccc.orders_id
WHERE   bbb.name <> 'Wireless Mouse' AND
        bbb.name = 'Laptop'
选择aaa.orders\u id、bbb.name、aaa.qty
从产品到订单aaa
内连接产品bbb
在bbb.id=aaa.product\u id上
内连接
(
选择aa.ORDERS\u ID
从产品到订单aa
内连接
(
选择订单号
从产品到订单a
内连接产品b
在b.id=a.product\u id上
其中name='无线鼠标'
)aa.orders\u id=bb.orders\u id上的bb
按aa.ORDERS\U ID分组
计数(*)大于1的
)aaa.orders\u id上的ccc=ccc.orders\u id
其中bbb.name“无线鼠标”和
bbb.name='笔记本电脑'

谢谢您的帮助。有趣的是,我不知道这是“不平等”。今天我从美国学到了很多。再次感谢。