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

Форум MySQL

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

 

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

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

тема: Нужно оптимизировать запрос!
 
 автор: Artemy   (15.03.2006 в 17:32)   письмо автору
 
 

Помогите оптимизировать запрос.
Допустим есть такой запрос к двум таблицам.
mysql->SELECT a.name AS name, b.name AS bname FROM table1 AS a, table2 AS b WHERE a.id=b.parent AND b.id='1'

Запрос прекрасно выполняется, но есть одно но! Если не будет совпадения по первичному и вторичному ключам, то будет возвращенно 0 записей.
Как можно это побороть?
Чтоб например, при отсутствие записи в таблице а, вывелость пустое значение name, а поле bname содержало какую-нибудь информацию.

   
 
 автор: Loki   (15.03.2006 в 17:51)   письмо автору
 
   для: Artemy   (15.03.2006 в 17:32)
 

Как-то так:

SELECT a.name AS name, b.name AS bname FROM table1 AS a LEFT JOIN  table2 AS b ON a.id=b.parent AND b.id='1' 

   
 
 автор: Trianon   (15.03.2006 в 17:52)   письмо автору
 
   для: Artemy   (15.03.2006 в 17:32)
 

SELECT a.name AS aname, b.name AS bname
FROM table1 as a
RIGHT JOIN table2 as b ON a.id=b.parent
WHERE b.id=1

   
 
 автор: Loki   (15.03.2006 в 17:55)   письмо автору
 
   для: Trianon   (15.03.2006 в 17:52)
 

Вот уже и женился, а все одно мне "лево" ближе:)

   
 
 автор: Trianon   (15.03.2006 в 18:01)   письмо автору
 
   для: Loki   (15.03.2006 в 17:55)
 

И правильно. RIGHT JOIN не рекомендован к применению.
А вот в ON у Вас явно лишнее условие, к связываию таблиц отношения не имеющее.

   
 
 автор: Artemy   (15.03.2006 в 18:31)   письмо автору
 
   для: Trianon   (15.03.2006 в 18:01)
 

Loki, Trianon большое Вам спасибо!

   
 
 автор: Loki   (16.03.2006 в 00:14)   письмо автору
 
   для: Trianon   (15.03.2006 в 18:01)
 

Да. Это я зевнул...

   
 
 автор: cheops   (15.03.2006 в 21:58)   письмо автору
 
   для: Loki   (15.03.2006 в 17:55)
 

А не все базы данных RIGHT JOIN поддерживают...

   
Rambler's Top100
вверх

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