dpa89292 2019-05-26 12:02
浏览 45
已采纳

如何连接多个查询

I created this table with data from the database. table: https://imgur.com/06xnebJ

I need all the rows with month May to be in 1 row like this:

May 2019 | | 3 | 3| 2| etc.

My DB looks like this:

https://imgur.com/nmwco9y

https://imgur.com/QbdGlzo

So far I got this code

$tipsportsql = mysqli_query($conn, "SELECT DATE_FORMAT(datum, '%b %Y') AS 'Monthyear', count(projekt) AS 'project' FROM zapasy WHERE projekt = '0' AND komentator1 = '$firstname $lastname' OR projekt = '0' AND komentator2 = '$firstname $lastname' GROUP BY Monthyear");

$slaviasql = mysqli_query($conn, "SELECT DATE_FORMAT(datum, '%b %Y') AS 'Monthyear', count(projekt) AS 'project' FROM zapasy WHERE projekt = '1' AND komentator1 = '$firstname $lastname' OR projekt = '1' AND komentator2 = '$firstname $lastname' GROUP BY Monthyear");

$betsql = mysqli_query($conn, "SELECT DATE_FORMAT(datum, '%b %Y') AS 'Monthyear', count(projekt) AS 'project' FROM zapasy WHERE projekt = '2' AND komentator1 = '$firstname $lastname' OR projekt = '2' AND komentator2 = '$firstname $lastname' GROUP BY Monthyear");

and this

<tbody>
        <?php while ($tip = mysqli_fetch_assoc($tipsportsql)) {?>
        <tr>
            <td>
                <?=$tip['Monthyear'] ?>
            </td>
            <td>

            </td>
            <td>

            </td>
            <td>
                <?=$tip['project']?>
            </td>
        </tr>

        <?php } while ($tip = mysqli_fetch_assoc($slaviasql)) {?>
        <tr>
            <td>
                <?=$tip['Monthyear'] ?>
            </td>
            <td>

            </td>
            <td>

            </td>
            <td>

            </td>
            <td>
                <?=$tip['project']?>
            </td>
        </tr>
        <?php }while ($tip = mysqli_fetch_assoc($betsql)) {?>
        <tr>
            <td>
                <?=$tip['Monthyear'] ?>
            </td>
            <td>

            </td>
            <td>
            <?=$tip['project']?>
            </td>
            <td>

            </td>
            <td>

            </td>
        </tr>
        <?php }?>
    </tbody>

I am thankful for any help.

  • 写回答

1条回答 默认 最新

  • drdyf42880 2019-05-26 12:06
    关注

    I believe you want a query like this:

    SELECT DATE_FORMAT(datum, '%b %Y') AS Monthyear, 
           SUM(projekt = 0) AS project_1,
           SUM(projekt = 1) AS project_2,
           SUM(projekt = 2) AS project_3
    FROM zapasy
    WHERE CONCAT(?, ?) IN (komentator1, komentator2)
    GROUP BY Monthyear;
    

    Note in particular the parameter placeholders. You need to learn how to use parameters so your queries are not vulnerable to unexpected syntax errors and SQL injection attacks.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题