2017-02-20 4 views
1

Вот таблица отделаКак отобразить общее количество преподавателей для каждого отдела? SQL Query

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 

Из выше коды, как показывает общее количество инструкторов для каждого отдела?

какой будет запрос? Пожалуйста, помогите.

Я делаю это в кодеигниторе.

+0

Я попробовал 'inner join' с' group by', но я получаю ошибку, поскольку 'Column 'department_id' в списке полей неоднозначен' – Kirataka

+0

Я считаю, что вы хотите что-то подобное http://stackoverflow.com/questions/35340801/MySQL-выбрать-из-категории-в-таблице-у-где-кол-оф-categorys-продукт-сюда –

ответ

1
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; 
1
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" 
1

Вы можете попытаться концептуализировать от моего решения ниже и посмотреть, если это может помочь,

Чтобы избежать осложнений вы можете просто идти прямой

<?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 
?> 

Так что, если вы разместите запрос в отдел линии s

department_id | department_name 
1    computers  //the query 
2    maths   //the query 
3    physics   //the query 
4    mba    //the query 

Даже если запрос для отдела в повторяющейся области он будет по-прежнему работать для вас. С уважением

Смежные вопросы