SELECT & MS SQL

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

SELECT & MS SQL

Сообщение Andrey Fedorov » 11.08.2004 (Ср) 16:15

Есть следующая вьюшка:

Код: Выделить всё
SELECT Месяц, Поставщик, Регион, Группа,
   Клиентов=COUNT(DISTINCT ID_Клиента),
   Заказов=COUNT(DISTINCT ZAKAZ),
   Тонн=SUM(MASMAR),
   Рублей=SUM(COSTNDS)
FROM (
   SELECT  Месяц=CAST(YEAR(O.DATAOTG) AS varchar)+'.'+CAST(MONTH(O.DATAOTG) AS varchar),
         Регион=ISNULL(R.СубъектФедерации, S.Страна),
         Группа=dbo.GetProfileGroupsCategory(P.ID_ГруппыПрофилей),
         Поставщик=CASE KODPOST WHEN 104 THEN 'Мосмек' WHEN 6347 THEN 'РАС' WHEN 7166 THEN 'АСК' ELSE '???' END,
         K.ID_Клиента, O.ZAKAZ, O.MASMAR, O.COSTNDS
      FROM tblMM_OTGR O
         INNER JOIN tblПрофили P ON O.MARKA LIKE P.Шифр1
         INNER JOIN tblКлиенты K ON O.KODPOK=K.ID_MM
         LEFT JOIN tblСубъектыФедерации R ON K.ID_СубФедерации=R.ID_СубФедерации
         LEFT JOIN tblСтраны S ON K.ID_Страны=S.ID_Страны
   ) AS T
GROUP BY Месяц, Поставщик, Регион, Группа


В QA все выполняется прекрасно. Под IDE тоже.
Но при запуске скомпилированного EXE в поле Месяц дата и месяц оказываются поменяны местами!!!

Всю голову уже сломал - где проблема-то???? Да еще какая разница Recordset-у как он открывается - из IDE или EXE?

Кто-нибудь подобное встречал???[/quote]
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.08.2004 (Ср) 16:56

у тебя поле МЕСЯЦ содержит только ГОД.МЕСЯЦ , а даты я не вижу.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 11.08.2004 (Ср) 17:29

у тебя поле МЕСЯЦ содержит только ГОД.МЕСЯЦ , а даты я не вижу.


Да, верно - это другой вариант - не то скопировал.

В общем, было так:

Код: Выделить всё
Месяц=CAST(CAST(YEAR(O.DATAOTG) AS varchar)+'-'+CAST(MONTH(O.DATAOTG) AS varchar)+'-1' AS smalldatetime)


И получался разный результат под IDE/EXE

Сейчас поставил:

Код: Выделить всё
Месяц=CAST(CAST(YEAR(O.DATAOTG) AS varchar)+CASE WHEN MONTH(O.DATAOTG)<10 THEN '0' ELSE '' END+CAST(MONTH(O.DATAOTG) AS varchar)+'01' AS smalldatetime)


И стало все нормально...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList