gpt4 book ai didi

php - 如何mysql GROUP_CONCAT

转载 作者:行者123 更新时间:2023-11-29 13:39:05 25 4
gpt4 key购买 nike

我有那两张 table

订单 ID

id_order| time              | username | price
35 |2013-08-11 15:03:01| |0.00
36 |2013-08-21 12:43:31|skata |0.00
37 |2013-08-21 12:43:55|skata |12.00

订单

order_id  | product |   ulika   
35 |frento |zaxari,fountoukia,troufa
35 |frento |zaxari,kakao
35 |frento |
36 |frapes |zaxari
37 |frento |
35 |frapes |

我希望特定产品返回包含它的所有记录数据我使用 GROUP_CONCAT 但它不会返回产品的所有值。

if(!empty($_SESSION['proions'])){
$query= "SELECT i.id_order, i.time, i.username, i.price, GROUP_CONCAT(o.product) as PRO
FROM id_of_orders i INNER JOIN orders o
ON i.id_order = o.order_id
WHERE o.product = '$_SESSION[proions]'";
$query .=" GROUP BY i.id_order" ;
$result = mysql_query($query);
}

例如,如果我尝试收集包含“frento”的记录数据,我会得到这些结果。我想念“frapes”这个产品。

35: -> 2013-08-11 15:03:01 0.00 frento,frento,frento
37: -> 2013-08-21 12:43:55 skata 12.00 frento

最佳答案

您的查询正在过滤产品上的所有行。您需要将该比较移至 having 子句:

SELECT i.id_order, i.time, i.username, i.price, GROUP_CONCAT(o.product) as PRO
FROM id_of_orders i INNER JOIN
orders o
ON i.id_order = o.order_id
GROUP BY i.id_order
HAVING max(o.product = '$_SESSION[proions]'") > 0;

这将返回订单的所有产品,其中至少有一行与您想要的产品匹配。

关于php - 如何mysql GROUP_CONCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354857/

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