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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: JOIN

Сообщения:  [1-10]   [11-13] 

 
 автор: Sfinks   (18.08.2012 в 21:28)   письмо автору
 
   для: OLi   (18.08.2012 в 20:56)
 

> Не сработало так как вы написали
В чем заключается "не сработало"?

> МНЕ ВСЕ ЗНАЧЕНИЯ НАДО ВЫБРАТЬ
Это в принципе не возможно, чтобы первые четыре столбца не повторялись, а в пятом были все значения разные!
Если вы себе представляете, как должна выглядеть результирующая таблица, нарисуйте ее. Тогда попробую написать запрос.

  Ответить  
 
 автор: OLi   (18.08.2012 в 20:56)   письмо автору
 
   для: Sfinks   (18.08.2012 в 20:42)
 

Не сработало так как вы написали

Либо GROUP BY, но из image тогда нужно выбрать какое-то одно значение: - МНЕ ВСЕ ЗНАЧЕНИЯ НАДО ВЫБРАТЬ

  Ответить  
 
 автор: Sfinks   (18.08.2012 в 20:42)   письмо автору
 
   для: OLi   (18.08.2012 в 20:38)
 

см.выше

  Ответить  
 
 автор: Sfinks   (18.08.2012 в 20:40)   письмо автору
 
   для: OLi   (18.08.2012 в 20:33)
 

И что это дает?
В условиях выборки они участия не принимают.
Запрос:
SELECT C.`id_cars`, C.`price`, C.`name`, C.`year`, max(I.`image`)img
FROM `cars` C
JOIN `cars_images` I ON I.`id_cars` = C.`id_cars` AND C.`status` = '1'
GROUP BY C.`id_cars`, C.`price`, C.`name`, C.`year`
ORDER BY C.`id_cars` DESC   
LIMIT 20
даст тот же самый результат. Можете проверить.

  Ответить  
 
 автор: OLi   (18.08.2012 в 20:38)   письмо автору
 
   для: Sfinks   (18.08.2012 в 20:35)
 

Хорошо, давайте этот весь хлам упростим, до уровня JOIN cars_images, так чтобы я на выходе получил все поля первой таблицы cars и поля соответствия cars.image=cars_images.id_car и без повторений из cars, в случае, если записей в cars_images больше 1

  Ответить  
 
 автор: Sfinks   (18.08.2012 в 20:35)   письмо автору
 
   для: OLi   (18.08.2012 в 20:32)
 

потому что DISTINCT - значит выбирать только уникальные строки. Если image оставить, то каждая из двух строк будет уникальна. Следовательно ничего не изменится и в выборке так и останется 2 строки.

  Ответить  
 
 автор: OLi   (18.08.2012 в 20:34)   письмо автору
 
   для: OLi   (18.08.2012 в 20:32)
 

DISTINCT не сработал

  Ответить  
 
 автор: OLi   (18.08.2012 в 20:33)   письмо автору
 
   для: Sfinks   (18.08.2012 в 20:31)
 

Как же не принимают? там же связь полей одной таблицы с полями другой

  Ответить  
 
 автор: OLi   (18.08.2012 в 20:32)   письмо автору
 
   для: Sfinks   (18.08.2012 в 20:27)
 

Почему убрали image в
SELECT DISTINCT `cars`.`id_cars` ,  `cars`.`price` ,  `cars`.`name` ,  `cars`.`year` FROM

  Ответить  
 
 автор: Sfinks   (18.08.2012 в 20:31)   письмо автору
 
   для: Sfinks   (18.08.2012 в 20:27)
 

А вообще почему такой странный запрос???
Зачем у вас присоединяются таблицы regions, cars_colors, cars_condition, transport_caterories и cars_cat, если в запросе они не принимают никакого участия???

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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