![]() |
|
Модераторы: skyboy |
![]()
|
|
| MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Здравствуйте, помогите пожалуйста составить sql запрос на выборку из базы данных не повторяющийся вопроса.
Есть таблицы со следующими структурами таблица quest(таблица с вопросами) id - номер вопроса quest - сам вопрос answer - правильный ответ на вопрос таблица log(таблица в которой хранятся все вопросы уже использованные) id - номер лога user_id - номер пользователя date - дата ответа quest_id - номер использованого вопроса Нужно получить из таблицы quest вопрос который не использовался в таблице log у пользователя Пробовал сделать так:
Я знаю что таким образом я бы не получил то что мне нужно, я надеялся получить список всех вопросов которые небыли задействованы в log и из них уже на php рандомно выберать любой вопрос. Но все мои затеи потерпели фиаско Это сообщение отредактировал(а) MrDmitry - 6.3.2012, 23:47 |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Если я ничего не напутал, то:
1. Из таблицы log выбираем (можно с distinct) те quest_id, которые соответсвуют user_id - это те вопросы, на которые когда-либо пользователь отвечал. 2. Делаем внешнее соединение полученного результата с таблицей quest, и из полученного множества выбираем записи со значением NULL в поле quest_id - это те вопросы, которые никогда не попадали в таблицу логов для данного пользователя. -------------------- Слава Україні! |
|||
|
||||
| AndreyIQ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 3 Всего: 8 |
|
|||
|
||||
| MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Спасибо. А можно как то сделать чтоб на sql вопрос из не повторяющихся выбирался рандомно?
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
отсортировать по случайному значению.
Функции генераторов случайных чисел не стандартизированы и сугубо платформоспецифичны. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
отсортировать по случайному значению - это как? если как я понимаю на sql нет генератор случайных чисел
Это сообщение отредактировал(а) MrDmitry - 8.3.2012, 01:26 |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Еще раз повторяю, это специфично для платформы.
Например для оралкла это было бы как-то так:
Поищите функцию герератора случайных чисел в документациии для своей платформы. Уверен, вы что-то найдете. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |