php - 如何在html表中显示原始sql查询输出

标签 php mysql foreach

我在 Laravel 中通过原始 SQL 查询生成了下表:

+----------+-------+-------+
| Products | Price | Shop  |
+----------+-------+-------+
| Jacket   | 300.0 | Shop1 |
| T-Shirt  | 300.0 | Shop1 |
| Jacket   | 500.0 | Shop2 |
| Shoes    | 200.0 | Shop2 |
+----------+-------+-------+

不知道如何循环这些数据,所以我在浏览器中得到这样的结果:

+---------+-------+-------+
| Product | Shop1 | Shop2 |
+---------+-------+-------+
| Jacket  | 300.0 | 500.0 |
| T-Shirt | 300.0 | NULL  |
| Shoes   | NULL  | 200.0 |
+---------+-------+-------+

最佳答案

尝试使用

    SELECT a.product, 
       (SELECT max(b.price) 
        FROM   yourtable b 
        WHERE  b.product = a.product 
               AND b.shop = 'Shop1') shop1, 
       (SELECT max(c.price) 
        FROM   yourtable c 
        WHERE  c.product = a.product 
               AND b.shop = 'Shop2') shop2 
FROM   yourtable a group by a.product

关于php - 如何在html表中显示原始sql查询输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397260/

相关文章:

C# `foreach` 行为 - 说明?

php - 如何在 Nginx 上使用 Xdebug 和 Laravel,在 Mac 上使用 PHPStorm?

php - URL 中的随机字符串对 "Man in the Middle Attack"有帮助吗?

java - MySQL数据库查询和更新

php注册mysql不是有效资源

php - 从同一 Controller 文件访问 2 个不同的表

php - x64 PHP/MYSQL 构建是否支持 64 位 Windows 服务器上的完整 64 位时间戳

php - 具有相同名称的多个文本输入 - 添加到数据库

java - 在 Java 中使用单个 for-each 循环遍历多个列表

javascript - 循环遍历 JSON 并动态填充数据