2016-08-26 1 views
4

Мне нужно создать общий отчет о следующей схеме таблицы:Общий отчет о паре таблиц в SQL Server

Table Schema

Мне нужно создать следующую таблицу для общего отчета:

+----------+--------+------------------+-----------------------------+------------------------------+ 
| Location | Trucks | TotalOfCampaings | CampaingsWithCompleteStatus | CampaingsWithInProcessStatus | 
+----------+--------+------------------+-----------------------------+------------------------------+ 
|   |  |     |        |        | 
+----------+--------+------------------+-----------------------------+------------------------------+ 
|   |  |     |        |        | 
+----------+--------+------------------+-----------------------------+------------------------------+ 
  • Местонахождение: Расположение грузовиков с по крайней мере одним камнем.
  • Транспортные средства: Количество грузовых автомобилей по месту нахождения, по крайней мере, одного лагеря.
  • TotalOfCampaings: Общее количество поселений по местонахождению и грузовикам.
  • CampaingsWithCompleteStatus: Общее количество завершенных Campaings, статус находится в таблице Campaing.
  • CampaingsWithInProcessStatus: Общее количество кампонов с статусом процесса, статус находится в таблице Campaing.

Campaing = заказ на установку одного или нескольких грузовиков.

Я пробовал с внутренним соединением, но я не могу получить то, что ожидаю от общего отчета.

Буду признателен за помощь в этом, любой вопрос на комментарии!

+0

Можете ли вы опубликовать запрос, который вы пробовали, результат и то, что вы хотите изменить? Это очень поможет нам! –

+0

@HurricaneDevelopment Привет, ситуация следующая: я уже создал отчет по той же проблеме, но изменение схемы и теперь мне нужно изменить к новой схеме, единственное изменение состояло в том, что изменение поля состояния ** кампании контроль ** таблица к ** кампания ** таблица. – TimeToCode

+0

@HurricaneDevelopment wait a second, позвольте мне найти мой предыдущий код – TimeToCode

ответ

4
SELECT Truck.location as Location, 
    COUNT(Truck.vin) as Trucks, 
    COUNT(Campaing.campaing_id) as TotalOfCampaings, 
    sum(case when Campaing.campaing_estatus = 'Complete' then 1 else 0 end) as CampaingsWithCompleteStatus, 
    sum(case when Campaing.campaing_estatus = 'InProcess' then 1 else 0 end) as CampaingsWithInProcessStatus 
    FROM CampaingControl 
     INNER JOIN Truck ON CampaingControl.vin = Truck.vin 
     INNER JOIN Campaing ON CampaingControl.campaing_id = Campaing.campaing_id 
    GROUP BY Truck.location; 
+0

Когда я пытался проверить, это отказ во втором внутреннем соединении – TimeToCode

+0

@TimeToCode какая ошибка? –

+0

Это: Неправильный синтаксис рядом с ключевым словом «INNER». Но во втором внутреннем соединении. – TimeToCode

 Смежные вопросы

  • Нет связанных вопросов^_^