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

Откуда:
Сообщений: 930
Здравствуйте!
Написал простой запрос, но одно поле этого запроса вместо данных выдает "<Неподдерживаемый тип данных>"
SELECT     Trades.O, Trades.TN, Trades._Date, Trades_D._Date AS Expr1
FROM         (SELECT     dbo.UT_Trades._Date, DATENAME(MONTH, dbo.UT_Trades._Date) AS M, DATENAME(YEAR, dbo.UT_Trades._Date) AS Y, 
                                              SUM(dbo.UT_Trades.LotCount * dbo.UT_Securities.LotSize * dbo.UT_Trades.Price) AS O, 
                                              SUM(dbo.UT_Trades.LotCount * dbo.UT_Securities.LotSize) AS TN
                       FROM          dbo.UT_Trades INNER JOIN
                                              dbo.UT_Securities ON dbo.UT_Trades.id_Security = dbo.UT_Securities.id_Security
                       WHERE      (dbo.UT_Trades.Cancelled = 0) AND (dbo.UT_Securities.id_Factory = @id_Factory) AND 
                                              (dbo.UT_Securities.id_ComodityType = @id_Comodity) AND (dbo.UT_Trades._Date >= @DS) AND (dbo.UT_Trades._Date <= @DE)
                       GROUP BY dbo.UT_Trades._Date, DATENAME(MONTH, dbo.UT_Trades._Date), DATENAME(YEAR, dbo.UT_Trades._Date)) 
                      AS Trades RIGHT OUTER JOIN
                          (SELECT     _Date
                            FROM          dbo.UT_Trades AS Tr_D
                            WHERE      (_Date >= @DS) AND (_Date <= @DE)
                            GROUP BY _Date) AS Trades_D ON Trades._Date = Trades_D._Date
Почему запрос не возвращает данные одного поля и существует ли решение этой проблемы?

К сообщению приложен файл. Размер - 0Kb
16 июл 09, 11:50    [7422842]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
И какого типа поле dbo.UT_Trades._Date?
16 июл 09, 11:53    [7422864]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
Ну, может кривой грид в конструкторе. Или откуда вы это запрос запускаете?
16 июл 09, 11:53    [7422870]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
pkarklin
И какого типа поле dbo.UT_Trades._Date?

Тип этого поля date
Если Вы заметили, поле одного вложенного запроса возвращается правильно, а другого подзапроса - некорректно.
16 июл 09, 11:56    [7422901]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
А если в виде текста вывести результаты запроса?
16 июл 09, 11:57    [7422909]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Гавриленко Сергей Алексеевич
Ну, может кривой грид в конструкторе. Или откуда вы это запрос запускаете?

Этот запрос написан в SSMS и грид-тоже SSMS
16 июл 09, 11:58    [7422918]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Выполняйте запрос в окне New Query.
16 июл 09, 11:58    [7422920]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Паганель
А если в виде текста вывести результаты запроса?

Дело в принципе.
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
16 июл 09, 12:00    [7422940]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
rsolanov
Паганель
А если в виде текста вывести результаты запроса?

Дело в принципе.
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
Повторяю вопрос, от ответа на который Вы уклонились - что будет, если вывести результат не в грид а в текст?
16 июл 09, 12:01    [7422953]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
rsolanov
Паганель
А если в виде текста вывести результаты запроса?

Дело в принципе.
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
Ну, баг студии. Дальше-то что?
16 июл 09, 12:03    [7422965]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
pkarklin
Выполняйте запрос в окне New Query.

Да, в окне New Query все работает правильно.
16 июл 09, 12:05    [7422973]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Паганель
rsolanov
Паганель
А если в виде текста вывести результаты запроса?

Дело в принципе.
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
Повторяю вопрос, от ответа на который Вы уклонились - что будет, если вывести результат не в грид а в текст?

А SSMS позволяет результат запроса сохранять в текст?
Если да, то я не знаю как.
16 июл 09, 12:08    [7422996]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
При чем тут сохранить, я же говорил "вывести"...

К сообщению приложен файл. Размер - 0Kb
16 июл 09, 12:14    [7423044]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Гавриленко Сергей Алексеевич
rsolanov
Паганель
А если в виде текста вывести результаты запроса?

Дело в принципе.
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
Ну, баг студии. Дальше-то что?

Как то раз этот баг у меня проявился при работе с MS SQL SERVER 2005 с соответствующей версией SSMS
16 июл 09, 12:15    [7423056]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
rsolanov
Как то раз этот баг у меня проявился при работе с MS SQL SERVER 2005 с соответствующей версией SSMS
Или даже не баг. Студия-то поди через адо работает с сервером, что ей оно вернуло, то она и показыет.
16 июл 09, 12:26    [7423158]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Паганель
При чем тут сохранить, я же говорил "вывести"...

А, извините, забыл.
Дело в том, что эта опция доступна только в окне "новый запрос", а в этом окне запрос возвращает данные корректно в любом виде (текст, сетка)
16 июл 09, 12:42    [7423270]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31161
rsolanov
Не ужели это баг MS SQL SERVER 2008 SP1? или баг SSMS?
Или может что-то с настройками?
А на SSMS тоже установлен SP1?
16 июл 09, 12:44    [7423301]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Гавриленко Сергей Алексеевич
rsolanov
Как то раз этот баг у меня проявился при работе с MS SQL SERVER 2005 с соответствующей версией SSMS
Или даже не баг. Студия-то поди через адо работает с сервером, что ей оно вернуло, то она и показыет.

Тогда бы и в окне "Новый запрос" не работало, а ведь работает.
Значит это однозначно баг SSMS.
Пипец, да еще такие деньги берут за этот продукт, а лежащие на поверхности баги исправить не могут
16 июл 09, 12:46    [7423313]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
rsolanov
Тогда бы и в окне "Новый запрос" не работало, а ведь работает.
Значит это однозначно баг SSMS.
Пипец, да еще такие деньги берут за этот продукт, а лежащие на поверхности баги исправить не могут
Во-первых, что это баг, еще надо доказать. Если продукт не работает так, как вам кажется, что он должен работать, это еще не повод утверждать, что в нем ошибка. Во-вторых, SP1 - это далеко не последний сервис-пак для 2005го. В-третьих, вы так и не показали ни select @@version с сервера, ни номер балда клиентских утилит.

Сообщение было отредактировано: 16 июл 09, 13:04
16 июл 09, 13:02    [7423454]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Гавриленко Сергей Алексеевич,

Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) Mar 29 2009 10:27:29 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)

Microsoft SQL Server Management Studio 10.0.2531.0
Клиентские средства служб Microsoft Analysis Services 10.0.1600.22
Компоненты доступа к данным (MDAC) 3.85.1132
Microsoft MSXML 2.6 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.6001.18702
Microsoft .NET Framework 2.0.50727.3082
Операционная система 5.1.2600
16 июл 09, 14:25    [7424199]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
baclanov
Member

Откуда:
Сообщений: 82
В джойне (ON Trades._Date = Trades_D._Date)
обработку пустых значений сделайте,
пустое значение преобразуется по умолчанию в целое, а не в дату.
16 июл 09, 17:26    [7425711]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
baclanov
пустое значение преобразуется по умолчанию в целое, а не в дату.
Приведите, пожалуйста, цитату из документации, где об этом написано
Ато я что-то слышу такое впервые
16 июл 09, 17:30    [7425739]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
baclanov
пустое значение преобразуется по умолчанию в целое, а не в дату.
Вы точно знаете? Киньте ссылку, пожалуйста!
16 июл 09, 17:30    [7425740]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
baclanov
Member

Откуда:
Сообщений: 82
Паганель
baclanov
пустое значение преобразуется по умолчанию в целое, а не в дату.
Приведите, пожалуйста, цитату из документации, где об этом написано
Ато я что-то слышу такое впервые


Можете посмотреть, что вернет скрипт:

SELECT NULL AS f INTO t

SELECT DATA_TYPE FROM
INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='t' AND COLUMN_NAME='f'

DROP TABLE t
17 июл 09, 09:15    [7427256]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
baclanov
SELECT NULL AS f INTO t
А где тут join (ON Trades._Date = Trades_D._Date)?
Сначала говорили про поля таблицы определённого типа,
а потом привели пример совсем из другой оперы. IMHO
17 июл 09, 09:45    [7427348]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить