Вот таблица отдела
department_id | department_name
1 computers
2 maths
3 physics
4 mba
Вот инструкторский стол
instructor_id | department_id | name
1 1 abc
2 2 manu
3 2 raju
4 3 jaya
5 4 man
Из приведенного выше кода, как отображать общее количество инструкторов для каждого отдела?
какой будет запрос?
Пожалуйста помоги.
Я делаю это в codeigniter.
select d.department_id, count(*) as num_instructors
from departments d
inner join instructors i on i.department_id = d.department_id
group by d.department_id;
Вы можете попытаться осмыслить мое решение ниже и посмотреть, может ли оно помочь,
Чтобы избежать осложнений, вы можете просто пойти прямо
<?php
//connection
$link = mysqli_connect("localhost","root","","database_name") or die("Couldn't make connection.");
$computer_department_id = //the value
$query = mysqli_query($link, "SELECT department_id FROM instructure_table WHERE department_id='$computer_department_id')");
$total = mysqli_num_rows($query);
echo $total; //this one will display the total number of instructors in computer department
?>
Или, если вам нравится
<?php
//connection
$link = mysqli_connect("localhost","root","","database_name") or die("Couldn't make connection.");
$computer_department = //the value
$query = mysqli_query($link, "SELECT department_id
FROM instructure_table AS t
WHERE EXISTS (SELECT department_id
FROM department_table AS d
WHERE d.department_id = t.department_id AND department_id='$computer_department')");
$total = mysqli_num_rows($query);
echo $total; //this one will display the total number of instructors in computer department
?>
Так что, если вы разместите запрос в строке отдела
department_id | department_name
1 computers //the query
2 maths //the query
3 physics //the query
4 mba //the query
Даже если запрос для отдела находится в повторяющемся регионе, он все равно будет работать для вас. С уважением
SELECT COUNT(i.instructor_id) as `instructor_count`, d.department_name
FROM instructor AS i
JOIN department ON d.department_id = i.department_id
GROUP BY i.department_id"