繁体   English   中英

合并一个单元格中不同行的数据

[英]Merge data from different rows in one cell

需要一些帮助,将来自同一订单 ID 的购买产品的名称存储在 1 个单元格中(尝试将获得的数据输出到 excel 文件)。 例子:

产品订购表:

orders_id  |  products_name
100        |  LCD Monitor
101        |  Laptop Intel Processor
101        |  Gaming Keyboard

预期输出

orders_id  |  products_name
100        |  LCD Monitor
101        |  Laptop Intel Processor<br>Gaming Keyboad

PHP代码

$query = "SELECT * FROM orders_products";
$result = mysqli_query($connect, $query);

while($row = mysqli_fetch_array($result))
  {
   $output .= '
    <tr>  
        <td align="left">'.$row["orders_id"].'</td>
        <td align="left">'.$row["products_name"].'</td>
    </tr>
   ';
  }

您可以将GROUP_CONCAT()与 GROUP BY 一起使用以获得预期结果:

SELECT 
    orders_id, 
    GROUP_CONCAT(
        DISTINCT products_name ORDER BY products_name ASC SEPARATOR ' <br> '
    ) AS products_name
FROM 
    orders_products 
GROUP BY orders_id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM