Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.01;
Скачать: CL | DM;

Вниз

Вопрос о вложенном SQL   Найти похожие ветки 

 
Duke2   (2002-06-06 06:53) [0]

Уважаемые мастера ! Вопрос о вложенном SQL
Есть таблица Должности со всеми видами должностей, Есть таблица Сотрудники
Нужно подсчитать, сколько всего есть сотрудников по каждой должности:

Должность Сотрудников
--------------------------------------------
Директор 1
Кассир 2
Банкир 10 ...

Для этого пишу запрос типа
SELECT Должность,
(SELECT Count(*) FROM Сотрудники WHERE Сотрудники.Должность = Должности.Должность) as Pole
FROM Должности

этот запрос всегда возвращает Pole=0, а если сделать внутренний подзапрос определенным
SELECT Должность,
(SELECT Count(*) FROM Сотрудники WHERE Сотрудники.Должность = "Директор") as Pole
FROM Должности
то правильно подсчитает количество директоров. В чем дело? SQL на это не способен ?
Можно конечно пробежаться по обеим таблицам в цикле, как в старом добром ДОСе,
но хотелось бы узнать как такие проблемы решают крутые чуваки.
Спасибо.


 
spb   (2002-06-06 07:32) [1]

Можно обойтись без вложенного запроса:

select ДОЛЖНОСТЬ, count(ДОЛЖНОСТЬ) from СОТРУДНИКИ
group by ДОЛЖНОСТЬ
order by ДОЛЖНОСТЬ


 
VAleksey ©   (2002-06-06 08:31) [2]

order by
не обязательно


 
spb   (2002-06-06 08:37) [3]

order by - это бантик для украшения.


 
VAleksey ©   (2002-06-06 08:53) [4]

:)


 
Johnmen ©   (2002-06-06 09:10) [5]

SELECT Должность, Count(*) FROM Должности
JOIN Сотрудники ON Сотрудники.IDдолжности=Должности.ID
GROUP BY Должность

или

SELECT Должность, Count(*) FROM Должности,Сотрудники
WHERE Сотрудники.IDдолжности=Должности.ID
GROUP BY Должность



 
fool ©   (2002-06-06 10:09) [6]

Вроде правильно у тебя, чувак, я тут счас написал (MSSQL) так нормально работает, хотя под dBase, FoxPro, Paradox - не уверен.

select land_name,
(select count(*) from region where land.land_ID=region.land_ID) as "count"
from land


 
Bcxv/B   (2002-06-06 17:43) [7]

cc



Страницы: 1 вся ветка

Текущий архив: 2002.07.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
7-1214
Фредди
2002-03-30 20:56
2002.07.01
Блокировать клавиатуру


8-1114
JustMan
2002-02-19 23:09
2002.07.01
Маленький, но удаленький вопросник!


14-1213
Oleon
2002-05-28 12:59
2002.07.01
Проблемы с округлением.


1-949
BKV
2002-06-19 18:42
2002.07.01
Доступ к полям компонента, заданным в Obj Inspect в конструкторе


14-1178
Fissher
2002-05-30 18:08
2002.07.01
Всем привет! Книжки не найдется? :-))