2013-12-04 4 views
-3

У меня есть таблица таблиц сотрудников и таблица ветвей таблицы. Таблица Employee содержит всю информацию, такую ​​как empid, имя, зарплата, дата, доменный указатель, супервизор и моя таблица ветвей, которые содержат код филиала, имя, бюджет и город. Мой вопрос в том, как вы перечислите ветви (только код филиала) с более чем 5 сотрудниками? У любого умного есть идея?sql select statement with having statement

+0

Просьба представить структуры таблицы вместе с тем, что вы пробовали. Ваши усилия мотивируют людей здесь помочь вам учиться. –

+1

Я бы сказал, что никто не поможет вам, не увидев, что вы пробовали в первую очередь, но я последовательно ошибался в этом отношении. – LittleBobbyTables

+0

@ LittleBobbyTables Это меня тоже удивляет. –

ответ

1

Если вы хотите только branchcodes, которые имеют более чем 5 сотрудников, и никакой другой информации филиала вы можете просто не сделать:

SELECT branchcode 
FROM employee 
GROUP BY branchcode 
HAVING COUNT(*) > 5; 
+0

это сработало, не могу поверить, что я не мог придумать это:/thanks – user3067155

+0

еще один, я не могу получить право на stetement, у меня есть таблица, которая содержит empid, имя, зарплату, наем, должность и супервизор (который включает в себя empid not the name), как я перечисляю empid и имя всех супервайзеров? результат должен иметь диспетчер столбцов (и список их emid) и их имена. – user3067155

+1

@ пользователь3067155. Это другой вопрос. Пожалуйста, отметьте это как принятое и добавьте это к другому вопросу. Убедитесь, что вы указали столько информации и пытаетесь решить проблему, как можете. –

0

Я действительно полагаю, что следующий запрос является то, что вы после:

SELECT b.branchcode 
FROM employee AS e 
    INNER JOIN branch AS b 
    ON e.branchcode = b.branchcode 
GROUP BY b.branchcode 
HAVING COUNT(*) > 5 

ВЫ ДОПОЛНИТЕЛЬНО ЗАДАВАЕМЫЕ:

у меня есть таблица, которая содержит EmpId, имя, зарплаты, HireDate, positionand вир ervisor (который включает empid не имя), как я могу назвать empid и имя всех супервизоров? результат должен иметь диспетчер столбцов (и список их emid) и их имена.

МОЙ ДОПОЛНИТЕЛЬНЫЙ ОТВЕТ:

Я не в полной мере понять, что вы говорите, но, возможно, это поможет:

SELECT e1.empid AS EmpID, e1.name AS EmpName, 
     e2.empid AS SupervisorID, e2.name AS SupervisorName 
FROM mytable AS m 
INNER JOIN employee AS e1 ON m.empid = e1.empid 
INNER JOIN employee AS e2 ON m.supervisor = e2.empid 

Я не знаю имя таблицы, которую вы ссылаетесь , поэтому в приведенном выше примере я использую mytable. Это предполагает, что супервизор является внешним ключом до empid в таблице employee. Если нет, и на самом деле содержит имя супервизора, вы можете удалить второе соединение в таблицу сотрудников и сразу выбрать m.supervisor.

+0

спасибо за то, что у меня есть таблица, которая содержит empid, имя, зарплату, наем, должность и супервизор (который включает в себя empid not the name), как я могу назвать empid и имя всех супервизоров? результат должен иметь диспетчер столбцов (и список их emid) и их имена. – user3067155