Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
使用mysql和php创建特定查询_Php_Mysql_Sql - Fatal编程技术网

使用mysql和php创建特定查询

使用mysql和php创建特定查询,php,mysql,sql,Php,Mysql,Sql,我需要帮助创建一个特定的查询,下面是我的存款表的一个示例,empId是一个外键,它引用了我的“users”表的主键,即“userId” 注:此处未显示用户表 mysql> SELECT * FROM deposit -> ; +------------+---------------+---------+-------------+-------------+-------------+-------+ | CheckId | jobId | pay

我需要帮助创建一个特定的查询,下面是我的存款表的一个示例,empId是一个外键,它引用了我的“users”表的主键,即“userId” 注:此处未显示用户表

  mysql> SELECT * FROM deposit
    -> ;
+------------+---------------+---------+-------------+-------------+-------------+-------+
|    CheckId | jobId         | payRate | jobLocation | hours       | date_paid   | empId |
+------------+---------------+---------+-------------+-------------+-------------+-------+
|       1512 | entertainment |      12 | store1      |       10.00 | 2013-03-02  |     1 |
|       1510 | entertainment |      12 | store1      |        8.00 | 2013-03-01  |     1 |
|       1507 | retail        |      10 | store1      |        8.00 | 2013-03-18  |     1 |
|       1506 | retail        |      10 | store1      |       20.00 | 2013-03-19  |     1 |
+------------+---------------+---------+-------------+-------------+-------------+-------+
我想要的是计算所有特定jobId的所有小时的总和,在本例中,如果我 正确地查询它将如下所示:

+---------------+---------------+---------+
| payID         | payRate       | hours   | 
+---------------+---------------+---------+
|  entertainment| 12            |      18 | 
|        retail | 10            |      28 | 
+---------------+---------------+---------+
在本例中,只有两个jobid,但它可能有两个以上

这是我的查询,它只显示一个payId,所以我需要帮助修复它

还要注意,电子邮件是“我的用户”表的一个属性

  <table>";
             $query = "SELECT jobId, payRate, SUM(hours) AS 'All_Hours'
                       FROM users INNER JOIN deposit ON userId = empId
                      WHERE users.email = '" . $_SESSION['email'] ."' 
                      GROUP BY jobId,payRate";

                      if (!$result) { //if the query failed
                          echo("Error, the query could not be executed: " .
                          mysqli_error($db) . "</p>");
                          mysqli_close($db); //close the database
                      } //by now we have made a successful query  
                      while ($row = mysqli_fetch_assoc($result)){
                      echo "<tr><td>" .$row['jobId'] . "</td>
                            <td>" .$row['payRate'] . "</td>
                            <td>" .$row['All_Hours'] . "</td>
                            </tr>";
                      }
              echo"</table>
”;
$query=“选择作业ID、工资率、总(小时)作为“所有小时”
来自userId=empId上的用户内部加入存款
其中users.email=“$”会话['email']。“'
按jobId、payRate分组”;
if(!$result){//如果查询失败
echo(“错误,无法执行查询:”。
mysqli_错误($db)。“

”; mysqli_close($db);//关闭数据库 }//现在我们已经成功地进行了查询 while($row=mysqli\u fetch\u assoc($result)){ 回显“.$row['jobId']” “$row['payRate']” “$row[‘所有小时’]” "; } 回声“
您忘记在查询中添加
GROUP BY
子句,导致结果中只有一条记录

SELECT jobId, payRate, SUM(hoursWorked) AS 'All_Hours'
FROM   users INNER JOIN paycheck ON userId = empId
WHERE  users.email = 'session_email_here' 
GROUP  BY jobId, payRate
在存款台上

SELECT jobId, payRate, sum(hours) FROM deposit
group by 1, 2

我还建议您将其关系化一点:
jobId
jobLocation
需要移动到新表中

我编辑了我的查询,但现在它没有显示任何内容,我编辑的方式有什么问题吗?nvm我在phpmyadmin上运行了它,它工作了,但我的代码中的某个地方有语法错误