我需要人帮忙,我有两张table,
主管表 (supervisor_id, name, area_specialty, branch)
,和
任务表 (t_id, no_task, supervisor_id)
我正在尝试构造一个查询,可以用给定的 area of specialty
从一个给定的 branch
.
在获得他们的id之后,我需要通过tasks表循环id以获得一个具有最少任务的id (no_task)
.
下面是我尝试过的,但似乎没有得到正确的结果
$query2 = mysqli_query($connection, "SELECT * FROM supervisors WHERE area_specialty LIKE '%Embedded systems%' AND branch LIKE '%boston%'");
while($rows =mysqli_fetch_array($query2)) {
$sid =$rows['supervisor_id'];
$query1=mysqli_query($connection,"SELECT * from tasks INNER JOIN(select t_id, supervisor_id,MIN(no_task) AS nTask FROM tasks Group By supervisor_id) AS task_1 On task_1.t_id=task.t_id Where task_1.nTask=task.no_task");
$rm = mysqli_fetch_array($query1);
}
echo $rm['supervisor_id'];
2条答案
按热度按时间djmepvbi1#
当您可以在查询中简单地使用一些内部联接时,不确定为什么要执行循环。稍后,当您的表很大并且正在循环这些查询和连接时,您将遇到性能问题。如果没有太多细节,我会这样做:
htzpubme2#
查询将根据您的要求提供任务列表:
联接中的子查询将获得具有给定区域专业和分支的主管的最小任务数。