Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Многотабличный запрос из двух таблиц в которых есть одинаковые столбцы
 
 автор: MikeSVB   (22.05.2009 в 05:35)   письмо автору
 
 

Есть две таблицы юзеров

В одной указывается id_user, фамилия fname имя name и отчество mname и профильные данные

В другой указывается так же id_user, ФИО и место жительства. (периоды жительства)( не факт что ФИО совпадают с первой таблицей, данные во время жительства именно на период времени)

Хочется организовать поиск по фамилии (обязательно) имени(необязательно) отчеству(необязательно).

Допустим я ищу Иванову , а иванова указала что жила с 1989 по 1995 в Москве с Фамилией Иванова потом в Нижнем Новгороде вышла замуж и фамилию сменила на Петрова.
по базе она Петрова. Потом развелась вернула себе фамилию Иванова и переехала во Владивосток.

Получается она в базе пользователей записана как Иванова.

А в базе мест жительства три раза из которых записана 2 раза Ивановой

Если искать по фамилии Иванова то поиск хотелось бы найти всех Ивановых в таблице юзеров и таблице адресов но исключить повторения user_id

Также и к Петровым чтобы относилось.

Помогите плиз.

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

  Ответить  
 
 автор: MikeSVB   (22.05.2009 в 07:50)   письмо автору
 
   для: MikeSVB   (22.05.2009 в 05:35)
 


SELECT *

FROM user AS u

LEFT JOIN adress AS adr

ON u.id = per.users

WHERE u.fname = 'ФАМИЛИЯ'  
                or 
                adr.fname = 'ФАМИЛИЯ';


такой создал

как бы мне ещё прикрутить имя и отчество

  Ответить  
 
 автор: а-я   (22.05.2009 в 08:56)   письмо автору
 
   для: MikeSVB   (22.05.2009 в 05:35)
 

выбрать ВСЕ адреса по фамилии на данный момент,
даже если фамилии менялись в какой-то период.

SELECT
 *
FROM
 `adress`
WHERE
 `id_user` = (SELECT `id_user` FROM `user` WHERE `fname` = 'ФАМИЛИЯ' LIMIT 1)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования