Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Простейший запрос / 5 сообщений из 5, страница 1 из 1
15.12.2015, 08:42
    #39128039
SamuelWild
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простейший запрос
Здравствуйте, у меня не получается в PgAdmin III настроить таблицу
Данные:
Таблица количества

kol_vo integer NOT NULL,
sklad integer,
id_sredtvo_ctrl,

и таблица средств контроля

id_sredstv_ctrl serial NOT NULL,
tip_sredstv_ctrl text,
price integer,
proizvoditel integer,
kol_vo_nalichie integer,

колонка kol_vo_nalichie FROM 'таблица средств контроля'
есть сумма всех kol_vo FROM 'Таблица количества' по id_sredtvo_ctrl
...
Рейтинг: 0 / 0
15.12.2015, 10:52
    #39128185
SamuelWild
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простейший запрос
Написал запрос

SET kol_vo_nalichie = kol_vo
WHERE kol_vo = (SELECT sum(kol_vo) FROM kol_vo_na_sklade WHERE id_sredstv_ctrl = id_sredstv_ctrl FROM sredstvo_ctrl)

Только не знаю куда его вписывать, при вбити его во вкладку SQL в настройках таблицы/колонки ничего не происходит
...
Рейтинг: 0 / 0
15.12.2015, 12:11
    #39128307
p2.
p2.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простейший запрос
SamuelWildНаписалпрежде чем препарировать, надо почитать книжки по анатомии, иначе это будет расцениваться как жестокое обращение с трупом.
приступать к еще живому телу можно после получения диплома и под присмотром, пока не закончишь ординатуру.

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

читай книжки.
...
Рейтинг: 0 / 0
15.12.2015, 14:49
    #39128617
SamuelWild
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простейший запрос
Книжки открывал, ларчик проще открывался, функция UPDATE не может работать с таблицей на которую обращется внутренняя функция, выход подсказали:

DO $$
DECLARE
r record;
BEGIN
FOR r IN
SELECT id_sredstv_ctrl AS id, SUM(kol_vo) AS cnt
FROM kol_vo_na_sklade
GROUP BY id_sredstv_ctrl
LOOP
UPDATE sredstvo_ctrl
SET kol_vo_nalicie = r.cnt
WHERE id_sredstv_ctrl = r.id;
END LOOP;
END$$;

И запрос подобный можно прописывать один раз, если вписывать в таблицу может произойти коллапс при одновременном изменении данных
...
Рейтинг: 0 / 0
15.12.2015, 15:36
    #39128683
big-trot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простейший запрос
У Вас ошибка в проектировании. Поле kol_vo_nalichie необходимо удалить, а сумму считать в запросе и хранить её не надо
(это прямо зависимые показатели). В вашем случае наступит момент когда хранимая сумма разойдется с текущей.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Простейший запрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]