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

Форум MySQL

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

 

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

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

тема: Соединение таблиц
 
 автор: sd607   (16.06.2008 в 19:13)   письмо автору
 
 

И такой вопрос.

есть две таблицы:


items_table:

id | title

1 | Товар 1
2 | Товар 2
3 | Товар 3


и


images_table"

img_id | src | item_id

1 | photo1.jpg | 1
2 | photo2.jpg | 1
3 | photo3.jpg | 1
4 | photo4.jpg | 2
...


Какой запрос можно применить, для вывода описания това + одна строка из таблицы фотографий, т.е. получить на выходе:

Товар 1 | photo1.jpg
Товар 2 | photo4.jpg
...

   
 
 автор: Root   (16.06.2008 в 19:45)   письмо автору
 
   для: sd607   (16.06.2008 в 19:13)
 


SELECT items_table.title AS t, images_table.src
FROM items_table
LEFT JOIN images_table ON images_table.item_id = items_table.id
GROUP BY t;

   
 
 автор: sd607   (16.06.2008 в 19:48)   письмо автору
 
   для: Root   (16.06.2008 в 19:45)
 

Сенькс

   
 
 автор: sd607   (16.06.2008 в 19:46)   письмо автору
 
   для: sd607   (16.06.2008 в 19:13)
 

Один из вариантов LEFT JOIN + GROUP BY

Например левое соединение items_table с images_table и группировкой по ID левой таблицы, чтобы получить именно одну фотку для каждой единицы из таблицы товаров (items_table). Наверняка есть способ более быстрый и легкий.

   
 
 автор: Root   (16.06.2008 в 19:50)   письмо автору
 
   для: sd607   (16.06.2008 в 19:46)
 

>Наверняка есть способ более быстрый и легкий.
а так не подходит? :-)

   
 
 автор: sd607   (16.06.2008 в 19:59)   письмо автору
 
   для: Root   (16.06.2008 в 19:50)
 

Насколько мне известно, группировки, собственно как и соединения, считаются одними из самых медленных операций. А когда в одном запросе и группировка, и соединение, то совсем грустно. Если это единственный способ, превосходно, если есть еще какие-либо варианты, было бы замечательно.

   
Rambler's Top100
вверх

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