Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
Добрый день!
MSSQL 2008R2 Dev.Edition

Итак есть 3 таблицы

Прогноз (продаж), VersionTheDate - Версия прогноза (например прогнозируют,каждый понедельник)
ActualTheDate - Даты на которые делают прогноз (текущие даты)

CREATE TABLE [forecast].[Full_Forecast] (
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)
ON [PRIMARY]
GO


Продаж, ActualTheDate - Даты продаж

CREATE TABLE [forecast].[Full_Sales] (
  [id] int IDENTITY(1, 1) NOT NULL,
  [Sales] money NULL,
  [ActualTheDate] datetime NULL
)
ON [PRIMARY]
GO


Общая таблица куда должны сливаться все прогнозы - продажи.

CREATE TABLE [forecast].[Full_Forecast_Sales] (
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [Sales] money NOT NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)
ON [PRIMARY]
GO


Есть несколько нюансов:
1. Мне необходимо залить историю: много версий прогноза из Full_Forecast связать с историей продаж Full_Sales
2. В таблице Прогнозов есть дата ActualTheDate, а продаж за этот день не было, и наоборот были продажи, но не было прогнозов. А необходимо видеть сводную картину. Потому решил воспользоваться в лоб While для каждой версии прогноза.
3. Но происходит зацикливание. Мне кажется проблема в условии, постоянно одно и то же обрабатывается.
Подскажите,как это проверить.
Спасибо.

DECLARE @VersionTheDate datetime
WHILE EXISTS (SELECT DISTINCT VersionTheDate FROM forecast.Full_forecast 
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM forecast.Full_Forecast_Sales))
BEGIN 

SELECT DISTINCT VersionTheDate INTO ##temp_vers FROM forecast.Full_forecast 
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM forecast.Full_Forecast_Sales)

SET @VersionTheDate = (SELECT  TOP 1 VersionTheDate FROM ##temp_vers ORDER BY VersionTheDate)
Print @VersionTheDate
INSERT  INTO forecast.Full_forecast_sales
(Forecast,
Sales,
ActualTheDate,
VersionTheDate
)
SELECT
f2.forecast AS Forecast,
d3.sales AS salessku,
CASE WHEN  d3.ActualTheDate IS NULL THEN f2.ActualTHeDate
ELSE d3.ActualTheDate end,
f2.VersionTheDate,
FROM
(SELECT 
  sum(isnull(f.forecast,0)) AS Forecast,
  f.ActualTheDate,
  f.VersionTheDate
  FROM forecast_db.forecast.Full_Forecast f WHERE VersionTheDate = @VersionTheDate
  GROUP BY
  f.ActualTheDate,
  f.VersionTheDate,
  ) AS f2
FULL JOIN  
  (SELECT
  SUM(d2.sales) as sales,
  d2.ActualTheDate
   GROUP BY
  d2.ActualThedate) d3
  ON
  f2.ActualTheDate=d3.Tdate AND
  
  UPDATE forecast.Full_Forecast_Sales
  SET VErsionTheDate = @VErsionTheDate
  WHERE VersionTheDate IS NULL
  
DROP TABLE ##temp_vers
END
GO
14 авг 12, 01:56    [13006881]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
-- Ты чо, больной? Какой нахер while?
declare  @Full_Forecast TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)
declare  @Full_Sales TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Sales] money NULL,
  [ActualTheDate] datetime NULL
)
declare  @Full_Forecast_Sales TABLE (
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [Sales] money NOT NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)

select ff.Forecast, fs.Sales, ff.VersionTheDate, isnull(fs.[ActualTheDate], ff.[ActualTheDate]) [ActualTheDate]
from
@Full_Sales fs full outer join @Full_Forecast ff on fs.[ActualTheDate] = ff.[ActualTheDate]
14 авг 12, 06:55    [13007007]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
aleks2
-- Ты чо, больной? Какой нахер while?
declare  @Full_Forecast TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)
declare  @Full_Sales TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Sales] money NULL,
  [ActualTheDate] datetime NULL
)
declare  @Full_Forecast_Sales TABLE (
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [Sales] money NOT NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
)

select ff.Forecast, fs.Sales, ff.VersionTheDate, isnull(fs.[ActualTheDate], ff.[ActualTheDate]) [ActualTheDate]
from
@Full_Sales fs full outer join @Full_Forecast ff on fs.[ActualTheDate] = ff.[ActualTheDate]


А чем Вам While не Угодил?

Я уже переделал запрос. Действительно трабл в условии, почему-то

EXISTS (...)


выполняется длительное время.

В вашем же решении не уверен. Главная проблема - определение VersionTheDate для тех, строк в которых Forecast is NULL, а соответственно и VersionTheDate не определился.
По этому инсерт нужно делать по каждому VersionTheDate, что мне While и позволяет.
14 авг 12, 12:18    [13008251]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
zanderman
А чем Вам While не Угодил?
14 авг 12, 12:43    [13008417]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
Mnior
zanderman
А чем Вам While не Угодил?


По-моему, проще объяснить уже...
14 авг 12, 13:42    [13008770]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
iiyama
Member

Откуда:
Сообщений: 642
Наверное потому-что while используется тогда ,когда его использование оправдано, а в остальных случаях используются операции над множествами
14 авг 12, 14:03    [13008929]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
iiyama
Наверное потому-что while используется тогда ,когда его использование оправдано, а в остальных случаях используются операции над множествами


Понял,
он логично приходит в голову, отрабатывает быстро.

Есть какие-то статьи на данную тему, интересно было бы почитать.
14 авг 12, 14:07    [13008976]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
zanderman
Главная проблема - определение VersionTheDate для тех, строк в которых Forecast is NULL, а соответственно и VersionTheDate не определился.
По этому инсерт нужно делать по каждому VersionTheDate, что мне While и позволяет.

Мне лениво разбирать гору "говнокода", но если ты внятно разъяснишь: чего вставить в поле VersionTheDate "для тех, строк в которых Forecast is NULL", то это можно организовать.

zanderman
он логично приходит в голову, отрабатывает быстро.

Слова не мальчика, но императивного программиста...
14 авг 12, 14:36    [13009269]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
к самому первому посту
Guest
zanderman,

(к самому первому посту)

про всякие штуки, которые "первое что приходит в голову". и типо ок, не троньте мой while.
(пусть пока будет while, мне без разницы)

автор
SET @VersionTheDate = (SELECT TOP 1 VersionTheDate FROM ##temp_vers ORDER BY VersionTheDate)

что нам как бы намекает на то, что нужно обработать все даты в порядке возрастания
в соответствии с чем условие
автор
WHILE EXISTS (SELECT DISTINCT VersionTheDate FROM forecast.Full_forecast
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM forecast.Full_Forecast_Sales))

выглядит неуместно перемудренным, а в сочетании с
автор
INSERT INTO forecast.Full_forecast_sales

который (я не знаю какие там смыслы в джойнах, я про очевиднейший вариант развития) может на минуточку ничего и не вставить.
и будет до посинения крутиться вайл на одной и той же дате.

приведенный full join я в принципе не понимаю, апдейт
автор
UPDATE forecast.Full_Forecast_Sales
SET VErsionTheDate = @VErsionTheDate
WHERE VersionTheDate IS NULL

просто шикарен, особенно в сочетании с тем что с предыдущим инсертом он не обернут в транзакцию,
и еще круче если на самом деле он нужен для тех нуллов, которые пришли как результат фуллджойна.

и вставляется, и апдейтится одна и та же дата - @VersionTheDate. но в каждой итерации мы почему-то пересобираем временную таблицу на случай "вдруг что-то другое вставилось".

автор
В таблице Прогнозов есть дата ActualTheDate, а продаж за этот день не было, и наоборот были продажи, но не было прогнозов. А необходимо видеть сводную картину.

это full join.
откуда взялся while?
14 авг 12, 15:07    [13009570]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
aleks2
Слова не мальчика, но императивного программиста...


Считайте, как хотите

Приведу тестовые наборы данных и результирующий набор. Они в приложении.

К сообщению приложен файл (Test_Input.7z - 503bytes) cкачать
14 авг 12, 15:40    [13009900]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
к самому первому посту
и еще круче если на самом деле он нужен для тех нуллов, которые пришли как результат фуллджойна.


Действительно круче, в этом и суть того, что я использовал цикл.

к самому первому посту
и вставляется, и апдейтится одна и та же дата - @VersionTheDate. но в каждой итерации мы почему-то пересобираем временную таблицу


Мы не пересобираем временную таблицу. Мы еще пополняем той VersionTheDate, по которой уже произошла вставка.

к самому первому посту
на случай "вдруг что-то другое вставилось"


Не "вдруг что-то другое вставилось", а конкретный минимальный VersionTheDate по которому еще не произошла вставка.

к самому первому посту
выглядит неуместно перемудренным


Тут вы правы c условием цикла я сперва перемудрил и по этому происходило зависание.
Я переписал условие.
Бейте меня,но все же, пока я сделал так и это не значит, что я не согласен с вами, я наоборот за узнать,как необходимо делать правильно

INSERT DISTINCT VersionTheDate INTO ##temp_forecast FROM forecast.Full_forecast
INSERT DISTINCT VersionTheDate INTO ##temp_forecast_sales FROM forecast.Full_Forecast_Sales

DECLARE @VersionTheDate datetime

WHILE 
(SELECT COUNT(DISTINCT VersionTheDate) FROM ##temp_forecast  WHERE VersionTheDate IN (SELECT DISTINCT VersionTheDate FROM  ##temp_forecast
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM ##temp_forecast_sales ))) > 0

BEGIN 

SELECT DISTINCT VersionTheDate INTO ##temp_vers FROM ##temp_forecast 
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM ##temp_forecast_sales )

SET @VersionTheDate = (SELECT  TOP 1 VersionTheDate FROM ##temp_vers ORDER BY VersionTheDate)
Print @VersionTheDate
INSERT  INTO forecast.Full_forecast_sales
(Forecast,
Sales,
ActualTheDate,
VersionTheDate
)
SELECT
f2.forecast AS Forecast,
d3.sales AS salessku,
CASE WHEN  d3.ActualTheDate IS NULL THEN f2.ActualTHeDate
ELSE d3.ActualTheDate end,
CASE WHEN f2.VersionTheDate IS NULL THEN @VersionTheDate
ELSE f2.VersionTheDate end
FROM
(SELECT 
  sum(isnull(f.forecast,0)) AS Forecast,
  f.ActualTheDate,
  f.VersionTheDate
  FROM forecast_db.forecast.Full_Forecast f WHERE VersionTheDate = @VersionTheDate
  GROUP BY
  f.ActualTheDate,
  f.VersionTheDate,
  ) AS f2
FULL JOIN  
  (SELECT
  SUM(d2.sales) as sales,
  d2.ActualTheDate
   GROUP BY
  d2.ActualThedate) d3
  ON
  f2.ActualTheDate=d3.Tdate 
  
  DROP TABLE ##temp_vers
      
  INSERT INTO ##temp_forecast_sales
 (VersionTheDate)
  SELECT VersionTheDate FROM ##temp_forecast
  WHERE VersionTheDate = @VersionTheDate
  
DROP TABLE ##temp_vers
END
GO
DROP TABLE ##temp_forecast
DROP TABLE ##temp_forecast_sales
14 авг 12, 15:54    [13010020]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
zanderman
Приведу тестовые наборы данных и результирующий набор. Они в приложении.


Если страждущий, не могет сказать простыми словами "чо ему нада" - он сам этого не знает.

ЗЫ. Ща я буду рассматривать твое файло. Хе-хе.
14 авг 12, 16:15    [13010209]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
gooooooood change
Guest
zanderman,
WHILE EXISTS (SELECT DISTINCT VersionTheDate FROM forecast.Full_forecast 
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM forecast.Full_Forecast_Sales))

автор
c условием цикла я сперва перемудрил

WHILE 
(SELECT COUNT(DISTINCT VersionTheDate) FROM ##temp_forecast  WHERE VersionTheDate IN (SELECT DISTINCT VersionTheDate FROM  ##temp_forecast
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM ##temp_forecast_sales ))) > 0

- то есть, у вас раньше была другая фамилия и вы поменяли ее на "сортир"?
- да. раньше была фамилия "сральник".
- ...good change. goooood change!
(c)
14 авг 12, 16:17    [13010227]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
with fc as
(
 select 
  sum(f.forecast) as Forecast, f.ActualTheDate, f.VersionTheDate
 from
  forecast.Full_Forecast f
 group by
  f.ActualTheDate, f.VersionTheDate
),
sl
(
 select
  sum(s.sales) as sales, s.ActualTheDate
 from
  forecast.Full_Sales s
 group by
  s.ActualThedate
),
x as
(
 select
  fc.Forecast, sl.sales,
  isnull(fc.VersionTheDate, t.VersionTheDate) as VersionTheDate
  sl.ActualTheDate
 from
  fc full join
  sl on sl.ActualTheDate = fc.ActualTheDate outer apply
  (select top (1) VersionTheDate from forecast.Full_Forecast where VersionTheDate < sl.ActualTheDate order by VersionTheDate desc) t
)
insert into forecast.Full_Forecast_Sales
 (Forecast, sales, VersionTheDate, ActualTheDate)
select
 x.Forecast, x.sales, x.VersionTheDate, x.ActualTheDate
from
 x;
14 авг 12, 16:26    [13010294]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
-- Ты чо, больной? Какой нахер while?
declare  @Full_Forecast TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Forecast] money NULL,
  [VersionTheDate] datetime NOT NULL,
  [ActualTheDate] datetime NULL
);

declare  @Full_Sales TABLE(
  [id] int IDENTITY(1, 1) NOT NULL,
  [Sales] money NULL,
  [ActualTheDate] datetime NULL
);

SET DATEFORMAT dmy;

insert @Full_Forecast(
  [Forecast],
  [VersionTheDate],
  [ActualTheDate]
)
select 100, '30.07.2012',  '31.07.2012'
union all
select 200, '30.07.2012',  '01.08.2012'
union all
select 300, '30.07.2012',  '02.08.2012'
union all
select 400, '30.07.2012',  '03.08.2012'
union all
select 500, '30.07.2012',  '05.08.2012'
union all
select 100, '30.07.2012',  '06.08.2012'
union all
select 200, '30.07.2012',  '07.08.2012'
union all
select 300, '30.07.2012',  '09.08.2012'
union all
select 400, '30.07.2012',  '10.08.2012'
union all
select 500, '30.07.2012',  '11.08.2012'
union all
select 600, '30.07.2012',  '12.08.2012'
union all
select 700, '30.07.2012',  '14.08.2012'
union all
select 100, '06.08.2012',  '07.08.2012'
union all
select 100, '06.08.2012',  '09.08.2012'
union all
select 200, '06.08.2012',  '10.08.2012'
union all
select 300, '06.08.2012',  '11.08.2012'
union all
select 400, '06.08.2012',  '12.08.2012'
union all
select 100, '06.08.2012',  '14.08.2012'
union all
select 200, '06.08.2012',  '15.08.2012'
union all
select 200, '06.08.2012',  '17.08.2012'
union all
select 100, '06.08.2012',  '18.08.2012'
;

insert  @Full_Sales(
  [Sales],
  [ActualTheDate]
)
select 100,  '31.07.2012'
union all
select 200,  '01.08.2012'
union all
select 200,  '02.08.2012'
union all
select 300,  '03.08.2012'
union all
select 300,  '05.08.2012'
union all
select 100,  '06.08.2012'
union all
select 150,  '07.08.2012'
union all
select 200,  '09.08.2012'
union all
select 400,  '10.08.2012'
union all
select 300,  '11.08.2012'
union all
select 300,  '12.08.2012'
union all
select 100,  '14.08.2012'
union all
select 200,  '15.08.2012'
union all
select 100,  '17.08.2012'
union all
select 400,  '18.08.2012'
union all
select 100,  '04.08.2012'
union all
select 200,  '08.08.2012'
union all
select 150,  '13.08.2012'
union all
select 100,  '16.08.2012'
;

select ff.Forecast
     , fs.Sales
     , ff.VersionTheDate
     , fs.[ActualTheDate]
from
@Full_Sales fs inner join @Full_Forecast ff on fs.[ActualTheDate] = ff.[ActualTheDate]
union all
select 0 as Forecast
     , y.Sales
     , x.VersionTheDate
     , y.[ActualTheDate]
from
( select fs.* 
    from
      @Full_Sales fs 
      left outer join @Full_Forecast ff on fs.[ActualTheDate] = ff.[ActualTheDate]
    where ff.VersionTheDate is null
) y
cross join
(select distinct VersionTheDate from @Full_Forecast) x
14 авг 12, 16:48    [13010411]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
Klopovnik
Member

Откуда: Рига
Сообщений: 39
День добрый,
насколько понимаю надо ссумировать продажи для каждого прогноза и записать в таблицу

select p.fromdate, p.tilldate, (select sum(sales) from sales where sales_date between p.fromdate and p.tilldate) from forecast p

извиняйте, если не правильно понял задачу
14 авг 12, 17:08    [13010555]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
invm,

В результирующем наборе вашего кода не хватает нескольких строк.

Те строки для которых Forecast IS NULL попадают только на одну из версий прогноза (VersionThDate), а могут попадать на обе.
Я специально подобрал такой исходный набор.
14 авг 12, 17:50    [13010788]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
aleks2,


А в ваш результирующий набор наоборот попали все возможные комбинации VersionTheDate (в случае исходящих данных) для случая, когда Forecast is NULL
14 авг 12, 17:53    [13010804]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
gooooooood change
zanderman,
WHILE EXISTS (SELECT DISTINCT VersionTheDate FROM forecast.Full_forecast 
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM forecast.Full_Forecast_Sales))

автор
c условием цикла я сперва перемудрил

WHILE 
(SELECT COUNT(DISTINCT VersionTheDate) FROM ##temp_forecast  WHERE VersionTheDate IN (SELECT DISTINCT VersionTheDate FROM  ##temp_forecast
WHERE VersionTheDate not in (SELECT DISTINCT VersionTHeDate FROM ##temp_forecast_sales ))) > 0

- то есть, у вас раньше была другая фамилия и вы поменяли ее на "сортир"?
- да. раньше была фамилия "сральник".
- ...good change. goooood change!
(c)


Ну по-крайней мере он заработал, на самом деле я понимаю, что звучит тупо, но мне дали задачу, я не гуру сиквела и решил ее по-своему и мне реально очень интересно узнать, как это делать правильно.

Спасибо, за все ответы в топике.
14 авг 12, 17:55    [13010824]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
zanderman
aleks2,


А в ваш результирующий набор наоборот попали все возможные комбинации VersionTheDate (в случае исходящих данных) для случая, когда Forecast is NULL


Канешно попали. Ты ж не поведал миру по какому принципу
0 100 30.07.2012 04.08.2012
0 200 30.07.2012 08.08.2012
0 150 30.07.2012 13.08.2012
0 100 06.08.2012 16.08.2012
0 200 06.08.2012 08.08.2012
0 150 06.08.2012 13.08.2012

отличаются 04.08.2012 и 16.08.2012.
Наверное ты и сам не знаешь?
14 авг 12, 19:52    [13011334]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
aleks2
Наверное ты и сам не знаешь?


Конечно не знаю.

aleks2
Канешно попали. Ты ж не поведал миру по какому принципу
0 100 30.07.2012 04.08.2012
0 200 30.07.2012 08.08.2012
0 150 30.07.2012 13.08.2012
0 100 06.08.2012 16.08.2012
0 200 06.08.2012 08.08.2012
0 150 06.08.2012 13.08.2012

отличаются 04.08.2012 и 16.08.2012.


Поэтому по счастливой случайно остальной набор оказался правильным.
Да отличие будет в приведенных вами датах.
14 авг 12, 22:03    [13011857]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
aleks2
Guest
zanderman
aleks2
Наверное ты и сам не знаешь?


Конечно не знаю.

aleks2
Канешно попали. Ты ж не поведал миру по какому принципу
0 100 30.07.2012 04.08.2012
0 200 30.07.2012 08.08.2012
0 150 30.07.2012 13.08.2012
0 100 06.08.2012 16.08.2012
0 200 06.08.2012 08.08.2012
0 150 06.08.2012 13.08.2012

отличаются 04.08.2012 и 16.08.2012.


Поэтому по счастливой случайно остальной набор оказался правильным.
Да отличие будет в приведенных вами датах.


Советую переквалифицироваться в управдомы.
С таким талантом к бессмысленной болтологии ты там уместнее.
15 авг 12, 05:21    [13012585]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
aleks2
Советую переквалифицироваться в управдомы.
С таким талантом к бессмысленной болтологии ты там уместнее.


Тут вы не правы.
Мой вопрос был: как правильно и почему?

Как вы ставите вопросы - так я на них и отвечаю, товарисч.
15 авг 12, 11:00    [13013334]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
zanderman
Мой вопрос был: как правильно и почему?
Если хотите получить на него ответ, то формализуйте задачу. Понять из ваших нерабочих скриптов, что же нужно на самом деле, -- весьма затруднительно.
15 авг 12, 11:07    [13013387]     Ответить | Цитировать Сообщить модератору
 Re: Работа цикла While  [new]
zanderman
Member

Откуда:
Сообщений: 166
invm
Если хотите получить на него ответ, то формализуйте задачу. Понять из ваших нерабочих скриптов, что же нужно на самом деле, -- весьма затруднительно.


Так вроде бы уже сформулировал.
Мне не нужно решение задачи.
Мне нужна была наводка "'как" и "почему".
Сорри, за кривую формулировка, буду над этим работать.
15 авг 12, 12:39    [13014108]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить