Помогите разобраться с вычисляемыми полями

Тема в разделе "SQL", создана пользователем Kraus, 4 дек 2006.

Статус темы:
Закрыта.
  1. Kraus

    Kraus Гость

    База в Access. Вот такая проблема:В запросе на выборку вычисляю среднюю скидку на проданный товар(данные храняться в таблице "НакладныеАрхив", товар продается с разной скидкой), нужно полученные значения занести в главную таблицу.


    Так выглядит запрос:

    SELECT Артикул, Sum(НаРуки*Скидка)/Sum(НаРуки) AS Средняя_скидка
    FROM НакладныеАрхив
    WHERE Скидка>=0
    GROUP BY Артикул;


    Можно ли сделать это через UPDATE?
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Я так понимаю, что Главная таблица и НакладныеАрхив объединяются по полю Артикул. Тогда что-то вроде (к сожаления точного синтаксиса Access не подскажу):

    Код (Text):
    Update ГлавнаяТаблица
    SET Средняя_скидка =
    (
    SELECT Артикул, Sum(НаРуки*Скидка)/Sum(НаРуки) AS Средняя_скидка
    FROM НакладныеАрхив
    WHERE Скидка>=0
    GROUP BY Артикул
    )
    WHERE ГлавнаяТаблица.Артикул = НакладныеАрхив.Артикул
     
  3. Kraus

    Kraus Гость

    Я так уже пробовал. Вылазит ошибка: в запросе SELECT происходит выборка двух полей.....
     
  4. ????

    ???? Гость

    [sql]Update ГлавнаяТаблица
    SET Средняя_скидка =
    (
    SELECT Sum(НаРуки*Скидка)/Sum(НаРуки)
    FROM НакладныеАрхив WHERE Скидка>=0
    GROUP BY Артикул
    )
    WHERE ГлавнаяТаблица.Артикул = НакладныеАрхив.Артикул[/sql]
     
  5. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Для: ????
    Ну конечно :D
     
  6. Kraus

    Kraus Гость

    Попробовал все вроде правильно, должно бы получиться, но вдруг еще косяк, такая ошибка: "В операции должен использоваться обновляемый запрос". Как с этим то бороться?




    Спасибо за участие! :D
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей