У меня есть набор скриптов, которые я хочу цикл через несколько раз и добавлять результаты в таблицу temp в столбцы points_mth1, points_mth2 и points_mth3, но, возможно, потребуется вставить новую строку для Клиента, который еще не находится в таблице.SQL Server 2008 - Looping
Стартовый @EndDate вводится, а затем я хочу, чтобы запустить в течение следующих 2-х месяцев, например, 2014-02-01, 2014-03-01 & 2014-04-01
Как добавить петлю до следующего, чтобы работать в течение следующих 2 месяцев?
SET NOCOUNT ON
DECLARE @EndDate DateTime
SET @EndDate = '2014-02-01'
[set of scripts will be run]
Результатов, которые затем сохраняются в виде временной таблицы, где каждый раз, когда он работает, новый столбец добавляется eg.points_mth2, и сохранить фигуру против CustomerNo в но клиент не существует, чтобы затем вставьте CustomerNo:
IF object_id(N'tempdb..#temp', N'U') IS NOT NULL DROP TABLE #temp
SELECT j1.customerno, SUM(points)[points_mth1] ---> this will store the figures for the first date, then a new column [points_mth2] and [points_mth3]
into #temp
FROM customer j1
JOIN #customer_final j2 ON
j1.customerno= j2.customerno
GROUP BY j1.customerno
вы должны задать конкретный вопрос. Вы просто заявляете о своих целях. Каково ваше препятствие, с которым вам нужна помощь? –
Вы должны попытаться * исключить * цикл в SQL-SQL - это ориентированный на набор язык. Это здорово при работе с данными, когда они имеют дело со всем этим. Не так велико, когда вы вынуждаете его работать по одной строке за раз. Итак, если вы могли бы рассказать нам, с какими данными мы работаем, и каков желаемый результат, мы могли бы вам помочь. Все, что вы описали до сих пор, - это * механизм *, который вы хотели использовать. В SQL вы пытаетесь указать движок *, что вы хотите *, ** не ** * как это сделать * –