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

Форум MySQL

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

 

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

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

тема: Помогите разобраться с LEFT JOIN
 
 автор: admiral   (09.12.2009 в 14:27)   письмо автору
 
 

Такой запрос

SELECT s_regions.region_name AS region, s_settlement.name AS city, s_district.name AS district, s_street.name_street AS street, addres.house, addres.apartment
FROM patients,`addres`
LEFT JOIN s_regions ON s_regions.region_id = addres.regions_id
LEFT JOIN s_settlement ON s_settlement.settlement_id = addres.settlement_id
LEFT JOIN s_district ON s_district.district_id = addres.district_id
LEFT JOIN s_street ON s_street.street_id = addres.street_id
WHERE  addres.`patient_id` = 1


Таблицы, начинающиеся с суфикса s_ - это справочники.
Таблица addres содерижит коды справочников, по которым идентифицируется адрес человека.
Запрос выводит более одной записи. Где ошибка?

  Ответить  
 
 автор: Trianon   (09.12.2009 в 14:33)   письмо автору
 
   для: admiral   (09.12.2009 в 14:27)
 

для начала

FROM patients,`addres` 


что Вы имели в виду?

  Ответить  
 
 автор: admiral   (09.12.2009 в 15:04)   письмо автору
 
   для: Trianon   (09.12.2009 в 14:33)
 

Вот блин. Точно сглупил. изменил на from addres, тем самым запрос сделал таким:


SELECT s_regions.region_name AS region, s_settlement.name AS city, s_district.name AS district, s_street.name_street AS street, addres.house, addres.apartment AS apartment
FROM `addres`
LEFT JOIN s_regions ON s_regions.region_id = addres.regions_id
LEFT JOIN s_settlement ON s_settlement.settlement_id = addres.settlement_id
LEFT JOIN s_district ON s_district.district_id = addres.district_id
LEFT JOIN s_street ON s_street.street_id = addres.street_id
WHERE  addres.`patient_id` = 1


Проверил - вроде работает.

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

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