Есть две таблицы:Показать отдельные строки таблицы с суммой столбца всех повторяющихся строк в SQL Server 2008
Tasks
стол:
TaskName (PK)
TaskAllocation
стол:
AllocationID(PK),
TaskName(F.K to TaskName in 'Tasks' Table),
UserID(F.K to ID in 'Users' Table),
EngineerType(F.K to ID in 'EngineerType' Table),
Start Date,
End Date,
Hours,
Location
'Таблица пользователей:
ID,
FirstName,
LastName
Таблица «» EngineerTypes:
ID,
Type
Каждая задача может иметь несколько allocations.Hence, то TaskName может происходить несколько раз в таблице распределения задач. Та же задача может быть сопоставлена нескольким пользователям (UserID)
Мне нужно отобразить выбранную задачу (заданную как входной сигнал от пользовательского интерфейса), идентификаторы пользователя, назначенные этой задаче, первое вхождение даты начала, первое вхождение даты окончания и Сумма (часы) для каждого пользователя выбранных задач.
Пример: TaskAllocation
данные:
TaskName UserID TypeId StartDate EndDate Hours Location
Task1 1 11 Feb 5 Feb 7 1 NULL
Task1 1 11 Feb 6 Feb 7 2 NULL
Task1 1 11 Feb 7 Feb 7 3 Onsite
Task1 2 12 Feb 8 Feb 10 4 Offshore
Task1 2 12 Feb 9 Feb 10 5 NULL
Task1 2 12 Feb 10 Feb 10 6 NULL
'EngineerTypes' data :
ID Type
11 Type1
12 Type2
'Users' Data :
ID FirstName
1 Name1
2 Name2
Запрос, который я реализовал был:
Select TaskAllocation.UserId as UserId,Users.FirstName as Name,
TaskAllocation.EngineerType as TypeId,EngineerTypes.Type as Type,
min(TaskAllocation.StartDate) as AllocationStartDate,
max(TaskAllocation.EndDate) as AllocationEndDate,
sum(TaskAllocation.Hours) as Hours, TaskAllocation.Location
from TaskAllocation join Users on TaskAllocation.UserId=Users.ID
join EngineerTypes on EngineerTypes.ID = TaskAllocation.EngineerType
where TaskAllocation.TaskName = Task1' group by
FirstName,UserId,EngineerType,Type,AllocationStartDate,AllocationEndDate,Hours,
Location,TaskName order by TaskName, UserId
Выход: UserId Название TypeId Тип AllocationStartDate AllocationEndDate Часы Расположение
1. 126 Name1 11 Type1 2015-11-23 2015-11-25 0.1 NULL
2. 126 Name1 11 Type1 2015-11-24 2015-11-25 0.2 NULL
3. 126 Name1 11 Type1 2015-11-25 2015-11-25 0.3 NULL
4. 127 Name2 12 Type2 2015-11-23 2015-11-25 0.2 NULL
5. 127 Name2 12 Type2 2015-11-24 2015-11-25 0.3 NULL
6. 127 Name2 12 Type2 2015-11-25 2015-11-25 0.4 NULL
Пример данных, вывод должен быть, как и выходной дон 't соответствует – TheGameiswar
Да, witohut, используя соединения, выводится пример вывода данных. Но теперь мне нужны дополнительные данные, которые также будут отображаться вместе с ним. Поэтому я использовал соединения. После использования соединений выходной сигнал отличается. Сейчас будут включены и другие таблицы. – tennisno1
ok, пожалуйста, попробуйте отформатировать вопрос об удалении ненужных вещей. – TheGameiswar