![]() |
|
Модераторы: LSD |
![]()
|
|
| CrazyDiamond |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Задачка проста, но у меня не вышло
Есть итоговая таблица А, в которой определены ряд столбцов, но заполнены пока что только несколько. Предполагается заполнение по мере выполнения серии запросов. В очередное поле таблицы А нужно вставить данные из Б. А именно - SUM(кол-во коробов по артикулу, где Б.артикул = А.артикул). Вот я не пойму, если у меня в селекте будет просто SUM(kolvo), как в этом примере, то это будет просто сумма по всем артикулам, без разбивки на те, что мне нужны - на те, котоые есть в А:
А если вот так, то все суммы разбиваются на артикула, как и должно быть, но на выходе у меня два столбца, вместо одного и апдейт на это ругается:
Подскажите пожалуйста, как быть. Я наверняка не знаю какой то элементарщины,т.к. с "эскуэлем" знаком месяц... |
||||
|
|||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Вот это работает:
Это сообщение отредактировал(а) LSD - 13.12.2005, 11:50 -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Честно говоря, из всего этого я понял только одно - уровень наших сисадминов не простирается дальше "селектов".
Вобщем, попробую, но сомневаюсь, что разберусь. Кстати, СУБД - Informix, работаю в Server Studio. Покатит? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Должно, тут вроде простой SQL без наворотов.
Ты бы привел скрипт по созданию таблиц и полный текст UPDATE, чтоб можно было тестовый примерчик запустить. Потому что у меня как раз заработал твой первый пример, и в чем у тебя была проблема я затрудняюсь сказать. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Вот с начала создания результирующей таблицы.
Ошибка Number of columns in UPDATE does not match number of VALUES. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Создать таблицы не удалось, т.к. не для всех есть скрипты и не все ясно с колонками. Но как я понял проблема в следующем:
В данном запросе не нужен group by и включать столбец szartnr в результат выборки:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
В твоём примере мне выдаётся ошибка синтаксиса, выделяется PK_A_TABLE.
А тут:
запрос не отрабатывается....слишком долго..... |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
А если попробовать выполнить только внутренний select он быстро отработает?
Поподробней, что за ошибка. По Informix-у есть какая нибудь онлайн документация (меня интересует описание синтаксиса)? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| CrazyDiamond |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Ну если в поле FROM добавить результирующую таблицу (greg_tmp_all), то быстро. Т.к. эта таблица указана в апдейте, она не стоит во FROM. Кроме того, добавил szartnr в поле выборки, иначе получаю одну общую сумму. И тогда и group by приходится добавить. Короче, работает, но немного в другом виде. +++ А ошибка самая обычная - "a syntax error has accured. Error line XX pos XX". Ошибки синтаксиса идут без указания кода ошибки. Ошибка при выполнении строки
Это сообщение отредактировал(а) CrazyDiamond - 13.12.2005, 17:09 |
||||
|
|||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |