SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.01.2014 22:44:12

Евстефеич
Участник
Зарегистрирован: 23.01.2014
Сообщений: 3

объединение таблиц

Здравствуйте! Прошу прощения, если вопрос не корректный или я не по адресу, но надеюсь вы сможете помочь. Итак, задача следующая. SQL Management Studio 2008. Проектирую простенькую БД. Первая таблица содержит поля: счетчик, Ф., И., О., пол. Так же есть три других таблицы: 1-я - счетчик, дата рождения; 2-я - счетчик, номер телефона; 3-я - счетчик, родной город. Т. е. каждая содержит 2 поля. Суть в том, чтобы написать запрос, который бы возвращал значения 4-х полей первой таблицы, а значение полей остальных таблиц выбирал рандомно. Т. е. одним и тем же Ф.И.О. и полу каждый раз должны соответствовать абсолютно разные телефоны, города и даты рождения. Очень надеюсь, что сможете хотя бы подтолкнуть в нужную сторону! Заранее огромное спасибо!

Неактивен

 

#2 23.01.2014 22:59:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: объединение таблиц

А зачем такая жесть? Например

select `счетчик`, `Ф., И., О.`, `пол`, (select `номер телефона` from `таблица 2` order by rand() limi1) from `таблица1`;

Неактивен

 

#3 23.01.2014 23:06:54

Евстефеич
Участник
Зарегистрирован: 23.01.2014
Сообщений: 3

Re: объединение таблиц

Очень специфическая задача. Я поменял название полей. Там другая информация, это так, для примера. Нужно сделать программу-тренажер. Пользователю будет выдаваться информация о лицах, он должен будет забить ее в специальную форму по определенным правилам. Чтобы он не привыкал забивать одних и тех же людей и не терял внимательность - вот для чего такая жесть))

Неактивен

 

#4 23.01.2014 23:08:04

Евстефеич
Участник
Зарегистрирован: 23.01.2014
Сообщений: 3

Re: объединение таблиц

за запрос большое спасибо!!! после rand() слово "limit" написано?

Неактивен

 

#5 24.01.2014 11:51:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: объединение таблиц

Евстефеич написал:

за запрос большое спасибо!!! после rand() слово "limit" написано?

limit 1

учтите, что order by rand() на больших объемах работает медленно. В этом случае ознакомьтесь с FAQ №9

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson