![]() |
|
Модераторы: skyboy |
![]()
|
|
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
есть две таблицы: файлов, и рейтинга онных:
files: fileid int, name VARCHAR(50), path VARCHAR(50). rating fileid INT, //ссылка на файл которому ставится оценка mark INT. //сама оценка такой запрос к примеру:
работает все четко, с одним но: если в таблице rating нет оценок вообще, то возвращается пустая строка, а нужно чтобы возвращался имеено 0 (ноль)...... потому что в коде скажем...подстановка несколько затруднена |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
пжлста!...оч надо
|
|||
|
||||
| Лкшы |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 9.7.2003 Репутация: нет Всего: нет |
Можно делать выборку через хранимую процедуру.
в IB это будет так: CREATE PROCEDURE RATING RETURNS ( FILEID INTEGER, RATING INTEGER) AS BEGIN for SELECT files.fileid,AVG(mark) FROM files LEFT JOIN rating USING (fileid) GROUP BY files.fileid INTO :FILEID,:RATING do begin IF(RATING is null) then rating=0; suspend; end END после чего делать выборку из процедуры select * from rating |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
Лкшыв том то и дело что в mySQL нет пока функции...а ждать до 5ой версии низя...
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
А если принудительно заполнять справочник нулями?
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
Cashey
смотри, при новом файле, добавляем 0 в рейтинг, тогда... когда ставится оценка 5 баллов, то получается среднее в 2.5 (0+5)/2, так как у нас уже 2 оценки!.... а должно то быть 5 средним... |
|||
|
||||
| Лкшы |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 9.7.2003 Репутация: нет Всего: нет |
Тогда попробуй добавить признак - "нет оценки" и ставь рейтинг = 0, а при добавлении проверяй его,
если установлен - то не считать, а писать как есть и сбрасывать признак, иначе считать. |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
Лкшы
попробуем, Крис )) |
|||
|
||||
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
А в MYSQL есть условная подстановка? типа как в MSSQL:
Это сообщение отредактировал(а) leniviy - 31.12.2003, 14:38 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |