Работник предоставил мне эту хранимую процедуру и попросил помочь создать SQL-запрос INSERT на основе его результатов, но я немного смущен некоторым из методов. Например, я никогда не видел инструкцию CASE в sql. Я посмотрел, но использование отличается от того, что мне дано.Как использовать эту хранимую процедуру SQL для создания инструкции INSERT?
Вот хранимая процедура
if @ScheduleType Is Null
SELECT Lu_Schedule_Types.ScheduleType,
SUM(CASE WHEN InductionProduction = 1 THEN CASE WHEN (LEFT(DATENAME(Month,
3)) = 'JAN' THEN ItemQty END END) AS I01,
SUM(CASE WHEN InductionProduction = 1 THEN CASE WHEN (LEFT(DATENAME(Month,
Item_Schedule.ItemScheduleDate), 3))
= 'FEB' THEN ItemQty END END) AS I02,
SUM(CASE WHEN InductionProduction = 2 THEN ItemQty ELSE 0 END) AS PRD,
LmpProjectInfo.PlannedQty,
LmpProjectInfo.AuthorizedQty,
LmpProjectInfo.WbsElementID
FROM Item_Schedule
INNER JOIN Lu_Schedule_Types
ON Item_Schedule.ItemScheduleType = Lu_Schedule_Types.ScheduleTypeId
RIGHT OUTER JOIN LmpProjectInfo
ON Item_Schedule.ItemWbsElement = LmpProjectInfo.WbsElementID
WHERE
(Item_Schedule.IsActive = 1)
AND (Item_Schedule.ItemWbsElement = @WbsElement)
AND (Item_Schedule.ItemScheduleDate < DATEADD(d, 1, @EndDate)) AND
(Item_Schedule.ItemScheduleDate >= @StartDate)
GROUP BY Lu_Schedule_Types.ScheduleType
, Lu_Schedule_Types.ScheduleTypeId
, LmpProjectInfo.PlannedQty
, LmpProjectInfo.AuthorizedQty
, LmpProjectInfo.WbsElementID
ORDER BY Lu_Schedule_Types.ScheduleTypeId
Я должен помогать его, но я, безусловно, мастера баз данных, и немного из моей глубины здесь я. Я очень благодарен за помощь/совет/руководство.
Спасибо большое!
Скажите им, что вы из вашей глубины. –
Я сделал хе-хе. его внизу. –
hm, я не уверен, как вы могли бы получить что-то из результатов этой процедуры, поскольку нет результатов, кроме одной вставки. (результаты чаще всего известны как то, что возвращается от выбора) – DrCopyPaste