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

Форум MySQL

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

 

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

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

тема: Как сделать такую сортировку
 
 автор: Richard Ferlow   (21.12.2010 в 16:03)   письмо автору
 
 

Есть таблица

country

Поля

id; parentid; name


тут хранятся страны и курорты для этих стран.

например

1;0;Египет


Курорт для него

2;1;Хургада


Задача такая -

есть база, где хранятся записи - для каждой записи сопоставлено по два id - страна и курорт.

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

т.е. есть набор IDшек курортов, нужно их отсортировать согласно названию страны.

  Ответить  
 
 автор: Gubichev   (21.12.2010 в 16:25)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 16:03)
 

И зачем вы запихнули всё это в одну таблицу?

  Ответить  
 
 автор: Richard Ferlow   (21.12.2010 в 16:55)   письмо автору
 
   для: Gubichev   (21.12.2010 в 16:25)
 

у меня в одной таблице древо страна-курорт

в другой таблице туры хранятся. для каждого тура выбирается страна-курорт

на мой взгляд вполне логично

  Ответить  
 
 автор: Trianon   (21.12.2010 в 17:10)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 16:55)
 

логично было бы лишь в случае, если бы страна и курорт были бы одним и тем же.
Это, однако, не так.

  Ответить  
 
 автор: Richard Ferlow   (21.12.2010 в 19:05)   письмо автору
 
   для: Trianon   (21.12.2010 в 17:10)
 

Ну почему же, схема аналогичная как допустим в CMS различных древо каталогов устроено


есть главные категории - внутри них подкатегории
так и тут - страны с курортами

  Ответить  
 
 автор: Trianon   (21.12.2010 в 23:47)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 19:05)
 

Там есть категория. Это одна сущность с единым набором свойств.

А страна и курорт - сущности разные.
У страны есть имя президента, и объем внешнего долга.
А у курорта - количество звездочек и наличие морского пляжа на территории.

До сих пор не доходит?

  Ответить  
 
 автор: neadekvat   (21.12.2010 в 17:05)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 16:03)
 

Сначала давайте уточним, беря ваш случай, может ли:
а) быть тур с id = 1 (т.е. Египет)
б) быть курорт с id = 2 (т.е. Хургада или подобное, когда parentid будет ссылаться на запись, которая в свою очередь сама имеет parenrid не равную 0)

  Ответить  
 
 автор: lightning.say   (21.12.2010 в 17:20)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 16:03)
 

возможно я ошибаюсь... но как я понимаю у страны нет родителя поэтому у страны parentid всегда будет равен 0, т.е. надо выводить записи у которых есть родитель т.е. parantid <> 0 а сортировку делать по названию страны т.е. по parentid

тогда вывод названий курортов
Select name from country
where parentid<>0
order by parentid

вывод idшек курортов по порядку id стран
Select id from country
where parentid<>0
order by parentid

  Ответить  
 
 автор: ride   (21.12.2010 в 17:24)   письмо автору
 
   для: Richard Ferlow   (21.12.2010 в 16:03)
 

если предположить, что вы различаете страну от курорта по parentID ( 0 - значит страна, иначе - курорт),
похоже, придется делать join с самой собой. что-то типа
select c1.*, c2. name as country_name
from 
country c1
join country c2 on c1.parentId=c2.id
where parentId <> 0 order by country_name

  Ответить  
 
 автор: Richard Ferlow   (21.12.2010 в 20:21)   письмо автору
 
   для: ride   (21.12.2010 в 17:24)
 

вот, похоже то что нужно

  Ответить  
Rambler's Top100
вверх

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