litos
Дата: 15.11.2000 04:35:09
Здравствуйте!
Есть таблица
JournalistID OperatorID MountID SoundID EditorID VedID MakerID OperatorStID
Mark
14 29 12 10 10 11 25
5
26 3 7 10 11 25 4
3
27 2 11
Числа - это PersonID - хранятся в таблице Persons - фамилии людей
Mark - это оценка пятибальная - число для JournalistID
Таблица
В нее вносятся даннне с помощиью поля подствновочного в форме..
Числа - это ID фамилии в таблице Persons.
JournalistID OperatorID MountID SoundID EditorID VedID MakerID OperatorStID
OperatorID MountID SoundID EditorID VedID MakerID OperatorStID
У нас один человек может быть и журналистом и оператормо и монтажером
Как из нее получить данные вида
PersonID JournalistID OperatorID MountID SoundID EditorID VedID MakerID
OperatorStID Mark
КОЛ-ВО КОЛ-ВО КОЛ-ВО КОЛ-ВО КОЛ-ВО КОЛ-ВО КОЛ-ВО
КОЛ-ВО Средняя
11 2 3 15 11 12 1 0
4,4
15 0 13 5 1 1 2 1 0
3,4
то есть
ID JournalistID MountID
то есть скоко раз сколько раз был монтажером
он был журналистом
ИВАНОВ(ID=5) 5 10
Делаю так
select count(JournalistID), count(OperatorID), count(MountID),
count(SoundID), count(EditorID)... from table name group by makerid
сгруппируются по ID все номера и подставится их количество.
Но мне надо как-то фамилию первым столбцом поставить
-------------
SELECT count(JournalistID), count(OperatorID), count(MountID),
count(SoundID), count(EditorID) , PersonID
FROM Q1 RIGHT JOIN Persons ON Persons.PersonID = Q1.JournalistID
GROUP BY JournalistID
Не работает, говорит, что
PersonID не является частью статистической функции или группы
говорит
----
SELECT PersonID, count(JournalistID), count(OperatorID), count(MountID),
count(SoundID), count(EditorID)
FROM Q1, Persons
WHERE PersonID = JouranlistID
GROUP BY JournalistID
Не работает тоже
-----------------
Заранее ОГРОМНОЕ СПАСИБО за ответ
С уважением,
Слава
Vasily
Дата: 15.11.2000 09:51:43
Вообще, если я правильно понял вопрос, то можно сделать вот так:
SELECT P.Person_Name, tmpQ1.*
FROM (
SELECT JournalistID,
count(OperatorID) as CountOperatorID,
count(MountID) as CountMountID,
count(SoundID) as CountSoundID,
count(EditorID) as CountEditorID
FROM Q1
GROUP BY JournalistID ) as tmpQ1
INNER JOIN Persons P ON P.PersonID = tmpQ1.JournalistID