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

Откуда:
Сообщений: 560
может кто знает..

я пользуюсь небезызвестным ресурсом по обучению SQL(русским).
там построено так, что твой запрос будет проверен да других данных..
вот и при проверке вываливается ошибка "Запрос вызывает ошибку выполнения на проверочной базе. Код ошибки (ODBC) - 22003"

вот при таком запросе все ОК, только данные не совпадают из-за типа..

...
select code, speed, ram, price, screen
from
(select code, cols, val from res where s = 3) q
pivot(max(q.val) for q.cols in (speed, ram, price, screen)) as p


а вот так

...
select code, speed, ram, cast(price as money) as price, screen
from
(select code, cols, val from res where s = 3) q
pivot(max(q.val) for q.cols in (speed, ram, price, screen)) as p


уже с ошибкой.

и даже если уйти от пивота и преобразования типов
 
...
select code, speed, ram, price, screen from laptop l 
where exists (select * from res r where l.code = r.code and r.s = 3)

та же бида
24 дек 13, 21:26    [15342251]     Ответить | Цитировать Сообщить модератору
 Re: Запрос вызывает ошибку  [new]
sdet
Member

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

Что за табл res (res where s = 3) ?
Вероятно конфликт числового поля и строки
24 дек 13, 21:45    [15342307]     Ответить | Цитировать Сообщить модератору
 Re: Запрос вызывает ошибку  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ошибка 22003 = Arithmetic overflow error converting numeric to data type numeric.
24 дек 13, 21:58    [15342341]     Ответить | Цитировать Сообщить модератору
 Re: Запрос вызывает ошибку  [new]
_human
Member

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

весь запрос запостить не могу.

что-то типа такого.
  • берется исходная таблица и делается unpivot.
    так как из записей создается поле, то все данные должны быть 1-го типа.
    вот, а там поля smallint, tinyint, money. т.е. в самом начале я все превожу в int.

  • далее анализ

  • и обратно pivot или не pivot=) см. выше

    может не ст0ит в int переводить.. но в строки нельзя. так как в запросе есть вычисления.

    если мой запрос возвращает правильные данные, идет далее проверка на других данных и там вот случается FAIL
  • 24 дек 13, 22:01    [15342350]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    sdet
    Member

    Откуда:
    Сообщений: 463
    _human
    sdet,

    весь запрос запостить не могу.

    что-то типа такого.
  • берется исходная таблица и делается unpivot.
    так как из записей создается поле, то все данные должны быть 1-го типа.
    вот, а там поля smallint, tinyint, money. т.е. в самом начале я все превожу в int.

  • далее анализ

  • и обратно pivot или не pivot=) см. выше

    может не ст0ит в int переводить.. но в строки нельзя. так как в запросе есть вычисления.

    если мой запрос возвращает правильные данные, идет далее проверка на других данных и там вот случается FAIL

  • Что-то намудрили вы. Может саму задачу сформулируете?
    А почему запрос не можете запостить?
    24 дек 13, 22:05    [15342354]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    _human
    Member

    Откуда:
    Сообщений: 560
    _human
    самом начале я все превожу в int

    bigint





    closed, thx
    24 дек 13, 22:06    [15342355]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    _human
    Member

    Откуда:
    Сообщений: 560
    p.s.
    sdet
    А почему запрос не можете запостить?

    так как тему закроют)
    24 дек 13, 22:07    [15342359]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    aleks2
    Guest
    Секретный запрос зарплаты генералофф фсб в 1С.
    Тему закроют вместе с форумом.
    25 дек 13, 06:22    [15343182]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104760
    aleks2
    Секретный запрос зарплаты генералофф фсб в 1С.
    Тему закроют вместе с форумом.

    это задача с sql-ex.ru
    при публикации готового решения тема будет удалена
    25 дек 13, 10:38    [15343900]     Ответить | Цитировать Сообщить модератору
     Re: Запрос вызывает ошибку  [new]
    StarikNavy
    Member

    Откуда: Москва
    Сообщений: 2396
    _human,

    т.е.
    select price..
    

    работает,
    а
    select cast(price as money)...
    


    вызывает "Arithmetic overflow error converting numeric to data type numeric" ?
    25 дек 13, 11:09    [15344032]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить