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

Форум MySQL

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

 

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

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

тема: Выборка из таблицы с сортировкой по значениям из другой таблицы???
 
 автор: rprint-max   (06.10.2006 в 15:26)   письмо автору
 
 

У меня такая задача:

Есть 2 таблицы
1. equip - содержит каталог оборудования с полями типа: артикул, название, производитель, цена и т.д.
2. equip_parametr - содержитcz информация по параметрам для оборудования. в ней 3 поля id_equip (идентификатор товарной позиции), id_parametr(идентификатор параметра), znachenie (значение данного параметра для данной позиции)

мне нужно сделать выборку из таблицы equip и отсортировать всё по полю znachenie из таблицы equip_parametr для которого id_parametr задано ($idparam)

то, что я написал ниже - неправильно (подвыражение в скобках), но это поможет понять, что я хочу сделать.


SELECT equip.ID_Equip FROM equip,equip_parametr 
WHERE  equip.ID_Equip=equip_parametr.ID_Equip  
ORDER BY (equip_parametr.Znachenie  WHERE equip_parametr.ID_Parametr='".$idparam."')  ASC";


не подскажете, как эту задачу можно осуществить?

   
 
 автор: Artemy   (06.10.2006 в 16:44)   письмо автору
 
   для: rprint-max   (06.10.2006 в 15:26)
 


SELECT equip.ID_Equip FROM equip,equip_parametr  
WHERE  equip.ID_Equip=equip_parametr.ID_Equip AND equip_parametr.ID_Parametr='".$idparam."'
ORDER BY equip_parametr.Znachenie ";

   
 
 автор: rprint-max   (06.10.2006 в 17:08)   письмо автору
 
   для: Artemy   (06.10.2006 в 16:44)
 

это выберет только те строки, у которых

equip_parametr.ID_Parametr='".$idparam."'


у некоторых товарных позиций вообще этот параметр может быть не прописан,соответственно для них нет записей в таблице equip_parametr

а мне надо вывести все строки оборудования, а отсортировать по значению этого параметра

   
 
 автор: rprint-max   (06.10.2006 в 17:48)   письмо автору
 
   для: rprint-max   (06.10.2006 в 15:26)
 

Парни, поздравьте меня!
Придумал сам, как это сделать, почитав много разных постов здесь и мануал на www.mysql.ru !


SELECT equip.ID_Equip
FROM equip,(SELECT * FROM equip_parametr WHERE equip_parametr.ID_Parametr='".$idparam."') as new_equip_parametr
WHERE equip.ID_Equip=new_equip_parametr.ID_Equip
ORDER BY new_equip_parametr.Znachenie ASC";

   
Rambler's Top100
вверх

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