Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2014, 00:34   #1
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию Обновление с выборкой

Вроде правильно назвал. В общем есть две таблицы:

1) таблица post - содержит поля: post_id (идентификатор), vote_num (количество голосов), rating (рейтинг) и другие
2) таблица logs - содержит поля post_id, action (содержит значения "1" или "-1") и другие

Суть такова: ставится оценка посту из таблицы post ("+1" или "-1"), эта оценка заносится в logs с идентификатором поста, а в post обновляется vote_num (прибавляется на 1) и rating (в зависимости от оценки). Так вот значения vote_num и rating неверны, и мне нужно их обновить

Сделал 2 запроса (на основании других работающих), но почему-то эти работают неверно:

PHP код:
//Пересчёт количества голосовавших 
UPDATE postlogs SET post.vote_num = (SELECT COUNT(*) FROM logs WHERE logs.post_id post.post_idWHERE post.post_id logs.post_id    

//Пересчёт рейтинга
UPDATE postlogs SET post.rating = (SELECT SUM(actionFROM logs WHERE logs.post_id post.post_idWHERE post.post_id logs.post_id 
Skyrazor вне форума Ответить с цитированием
Старый 04.08.2014, 21:24   #2
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

Тему в топку, вопрос решен самостоятельно.
Skyrazor вне форума Ответить с цитированием
Старый 05.08.2014, 05:20   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Как решен?
rrrFer вне форума Ответить с цитированием
Старый 07.08.2014, 00:13   #4
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Как решен?
PHP код:
//Пересчёт количества голосовавших за публикации
UPDATE post SET vote_num = (SELECT COUNT(*) FROM logs WHERE logs.post_id post.post_idWHERE post.post_id 0

//Пересчёт рейтинга публикаций
UPDATE post SET rating = (SELECT SUM(actionFROM logs WHERE logs.post_id post.post_idWHERE post.post_id 
Skyrazor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с выборкой БД alimov7 Помощь студентам 0 04.11.2012 19:39
работа с выборкой Inveerto Общие вопросы Delphi 3 10.04.2011 19:32
Проблема с выборкой Nightwolf Microsoft Office Access 1 01.05.2009 09:34
Вопрос с выборкой MHz Microsoft Office Access 2 13.11.2008 23:19
Помогите с выборкой VRF Microsoft Office Excel 5 06.11.2008 01:45