Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 mysql按方法分组_Php_Mysql - Fatal编程技术网

Php mysql按方法分组

Php mysql按方法分组,php,mysql,Php,Mysql,采购表: ======================== id|username|product|price| 01|Desmond |tv |$40 | 02|Desmond |watch |$20 | 03|Desmond |ring |$30 | 04|Desmond |laptop |$40 | ======================== 产品表: ============================ id|product|type |promotio

采购表:

========================
id|username|product|price|
01|Desmond |tv     |$40  |
02|Desmond |watch  |$20  |
03|Desmond |ring   |$30  |
04|Desmond |laptop |$40  |
========================
产品表:

============================
id|product|type |promotion_ID|
01|tv     |big  |001         |
02|watch  |small|002         |
03|ring   |small|002         |
04|laptop |big  |001         |
============================
推广编号:

==============================
id|promotion_ID|promotion_name|
01|001         |mid-year      |
02|002         |end-year      |
==============================
我想基于while循环方法显示Purchase表的结果,以显示mysql中的所有信息,这是没有问题的,但是我想根据Purchase表对它们进行分组,根据它们的促销id/促销名称。我可以知道吗,我该怎么办

例如。 显示结果:

年中

=======================
username|product|price|
Desmond |tv     |$40  |
Desmond |laptop |$40  |
=======================
年底

=======================
username|product|price|
Desmond |watch  |$20  |
Desmond |ring   |$30  |
=======================

您是否正在查找按订购的
和加入

SELECT promotion_name, 
    username, 
    p.product,
    price
FROM Purchase P
    JOIN Product PR ON P.Product=PR.Product
    JOIN Promotion PO ON PR.Promotion_Id=PO.Promotion_Id
ORDER BY promotion_name, p.product
关于您的数据库,我不建议将产品存储在购买表中——您应该存储产品Id。

试试看

This may help you..

Select username,product,price from Purchase
Join Product on Product.product = Purchase.product 
Join Promotion On promotion.promotion_ID  = Product.promotion_ID
where promotion_name = 'mid-year' // pass your argument
Order by Product.product

注意:您没有在所有表中引用主键,因此请在所有表的
product
列和
promotion\u id

列上创建索引。到目前为止,您做了哪些尝试?感谢大家的帮助,以另一种方式获得了预期的结果。。再次感谢您提供的帮助。。
SELECT pur.username, pur.product, pur.price
FROM tbl_purchase pur 
INNER JOIN tbl_product pro USING(product)
INNER JOIN tbl_promotion prm USING(promotion_ID)
ORDER BY prm.promotion_name