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

Форум MySQL

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

 

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

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

тема: Почему запрос выводит пустой рузультат

Сообщения:  [1-8] 

 
 автор: OLi   (17.08.2012 в 02:37)   письмо автору
 
   для: OLi   (17.08.2012 в 02:33)
 

Вопрос снят

  Ответить  
 
 автор: OLi   (17.08.2012 в 02:33)   письмо автору
 
   для: OLi   (17.08.2012 в 02:09)
 

Остался вопрос. Допустим я из cars таблицы вывожу 4 поля, но в JOIN указываю связь других полей. Скажем cars.id_cars=cars_images.id_cars
Как прописать для cars.id_cars=cars_images.id_cars возвращаемое поле?

  Ответить  
 
 автор: OLi   (17.08.2012 в 02:09)   письмо автору
 
   для: OLi   (17.08.2012 в 02:05)
 

Помог JOIN LEFT - срасибо

  Ответить  
 
 автор: OLi   (17.08.2012 в 02:05)   письмо автору
 
   для: Sfinks   (17.08.2012 в 01:32)
 

Убрал ORDER WHERE LIMIT, возвращает пустой массив

  Ответить  
 
 автор: OLi   (17.08.2012 в 02:01)   письмо автору
 
   для: OLi   (17.08.2012 в 01:34)
 

Правильно будет так:
SELECT `cars`.`id_cars`, `cars`.`price`, `cars`.`name`, `cars`.`year` FROM (`cars`)
 JOIN `regions` ON `regions`.`id_region` = `cars`.`region` 
JOIN `cars_colors` ON `cars_colors`.`id_color` = `cars`.`color`
 JOIN `cars_condition` ON `cars_condition`.`id_cond` = `cars`.`condition` 
JOIN `transport_caterories` ON `transport_caterories`.`id_transport` = `cars`.`category`
 JOIN `cars_cat` ON `cars_cat`.`id_cat` = `cars`.`cat` 
JOIN `cars_images` ON `cars_images`.`id_images` = `cars`.`image` 
WHERE `cars`.`status` = '1' ORDER BY `cars`.`id_cars` desc

Ошибок уже нету - но запись не выводит

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

Теперь такая:

Column 'id_cars' in field list is ambiguous

SELECT `id_cars`, `price`, `name`, `year` FROM (`cars`) 
JOIN `regions` ON `id_region` = `cars`.`region`
JOIN `cars_colors` ON `id_color` = `cars`.`color`
JOIN `cars_condition` ON `id_cond` = `cars`.`condition`
JOIN `transport_caterories` ON `id_transport` = `cars`.`category`
JOIN `cars_cat` ON `id_cat` = `cars`.`cat`
JOIN `cars_images` ON `id_images` = `cars`.`image`

  Ответить  
 
 автор: Sfinks   (17.08.2012 в 01:32)   письмо автору
 
   для: OLi   (17.08.2012 в 01:23)
 

А в остальных?
Попробуйте для проверки заменить все JOIN на LEFT JOIN и убрать WHERE, ORDER BY и LIMIT.
По результату будет видно где нестыковка.
SELECT `id_cars`, `price`, `name`, `year` FROM (`cars`)
 JOIN `regions` ON `id_region` = `cars`.`region` JOIN `cars_colors` ON `id_color` = `cars`.`color` 
 JOIN `cars_condition` ON `id_cond` = `cars`.`condition`
 JOIN `transport_caterories` ON `id_transport` = `cars`.`category`
 JOIN `cars_cat` ON `id_cat` = `cars`.`cat` WHERE `status` = '1' 
 ORDER BY `id_cars` desc LIMIT 20

И зачем (`cars`) в скобках?

  Ответить  
 
 автор: OLi   (17.08.2012 в 01:23)   письмо автору
 
 

SELECT `id_cars`, `price`, `name`, `year` FROM (`cars`)
 JOIN `regions` ON `id_region` = `cars`.`region` JOIN `cars_colors` ON `id_color` = `cars`.`color` 
 JOIN `cars_condition` ON `id_cond` = `cars`.`condition`
 JOIN `transport_caterories` ON `id_transport` = `cars`.`category`
 JOIN `cars_cat` ON `id_cat` = `cars`.`cat` WHERE `status` = '1' 
 ORDER BY `id_cars` desc LIMIT 20


В таблице cars есть 1 запись

  Ответить  

Сообщения:  [1-8] 

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

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