Возможно, я уже опубликовал это ранее, но пока не могу найти ответ, поэтому, пожалуйста, помогите мне в этом.Нужна помощь для моего SQL-запроса
Моя структура базы данных:
ATT (Activity
стол)
- Act_ID (PK)
- Assigned_To_ID (FK, см
Emp_ID
) - PROJECT_ID (FK, см
Project_ID
) - Product_ID (FK, см.
Product_ID
) - Статус (может быть
New, OnHold, Cancel, Closed
)
Product_Table
- PRODUCT_ID (ПК)
- Product_Name
Project_Table
- project_id (ПК)
- PROJECT_NAME
Employee_Table
- emp_id (ПК)
- F_Name.
Ограничения
- В 1 Project -> Несколько сотрудников могут работать
- 1 сотрудника -> Может быть назначено несколько мероприятий (
Act_ID
) - В любой данный момент времени
Status
может быть любым из этих данных
Сейчас в мой SQL запрос, что я хочу сделать, это проверка нагрузки ::
Деятельность (в лице Act_ID
) присваивается работнику представлен Assigned_To_ID
, для проекта (Project_ID
в ATT_Table
) и особый статус. Мне нужно вывести 5 значений из моего SQL запроса:
- Имя Сотрудника
- Название проекта
- Количество общей деятельности Сотрудник (в А) назначается.
- Число операций, выполняемых работником (в A), назначается там, где Status является либо новым, либо InProcess.
- Нагрузка. Это будет = C/D * 100 (C является большее значение, чем D, что очевидно.)
Теперь Там может быть условием, что работник, скажем E1 работает над проектом P1, P2. Так что мой выход таблица будет выглядеть следующим образом ::
A B C D E
E1 P1
E1 P2
Так вот C, D, E будут иметь значения, соответствующие деятельности для данного проекта (P1 или P2)
Я попытался это до сих пор ::
SELECT
F_Name AS A,
Project_Name AS B,
Count(Act_ID) AS C,
Count(Act_ID) AS D
FROM
Employee_Table, ATT_Table, Project_Table
WHERE
ATT_table.[Assigned_To_ID] = Employee_Table.[Emp_ID]
AND Project_Table.[Project_ID] = ATT_Table.[Project_ID]
AND Count(Act_ID) IN (SELECT Count(Act_ID)
FROM ATT_Table
WHERE ATT_Table.[Status] <> 'Closed'
AND ATT_Table.[Status] <> 'OnHold')
GROUP BY
F_Name, Project_Name;
Я получаю A, B, C. Но когда я пытаюсь найти мероприятия для проверки состояния я не могу выполнить этот запрос, поскольку это дает мне сообщение не может написать подсчитывать в ИНЕКЕ. пожалуйста, помогите мне на этом. Спасибо ..
Yaa .. я извиняюсь за это. Product_Table не задействован. Моя ошибка .. –
Сэр, у меня есть это 1 право. Но сегодня я знаю немного о том, что немного изменился в моих требованиях. Поэтому я опубликовал новый вопрос, его несколько связанный только с этим. Я отметил это как ответ, поскольку он подходит для этого вопроса. Я даю вам ссылку http://stackoverflow.com/questions/10373043/need-to-write-an-sql-query Спасибо. –