SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.08.2010 12:33:04

int64
Участник
Зарегистрирован: 02.08.2010
Сообщений: 7

Сортировка двух таблиц

Есть две таблицы "Список факультетов" и "Список специальностей". Связаны они через внешний ключ, т.е. у "Списка специальностей" есть поле id_fac, указывающее на id у "Списка факультетов".
Надо вывести все факультеты и специальности одним столбцом, НО выглядеть должно все так:
Факультет_1
  Специальность_1_1
  Специальность_1_2
  ...
  Специальность_1_n

...

Факультет_k
  Специальность_k_1
  Специальность_k_2
  ...
  Специальность_k_n

Выводить все это дело получается (использую union), а вот отсортировать в таком порядке никак не получается. Может кто что-нить подскажет, уже всю голову сломал

Делал так:


select distinct fac.name from fac, spec
    where fac.id = spec.id_fac
union all
select spec.name from fac, spec
    where fac.id = spec.id_fac
 

Отредактированно int64 (02.08.2010 13:03:31)

Неактивен

 

#2 02.08.2010 13:07:01

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сортировка двух таблиц

А какой практический смысл в таком столбце? Вы не сможете отличить в нем
название факультета от названия специальности.

Такое можно сделать, например, хранимой процедурой со временной табличкой
и курсором.

Неактивен

 

#3 02.08.2010 13:15:01

int64
Участник
Зарегистрирован: 02.08.2010
Сообщений: 7

Re: Сортировка двух таблиц

Так мне и не надо их отличать, просто нужен вот такой список.
А по-подробнее можно о процедуре?

Неактивен

 

#4 02.08.2010 13:36:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сортировка двух таблиц

Создаете временную табличку. Открываете курсор по табличке факультетов.
Читаете оттуда строку, вставляете во временную. Читаете строки специальностей,
соответствующих прочитанной строке, вставляете во временную. И так далее,
пока не закончится таблица факультетов. Закрываете курсор, читаете то, что
получилось во временной табличке, удаляете ее.

Неактивен

 

#5 02.08.2010 14:05:19

int64
Участник
Зарегистрирован: 02.08.2010
Сообщений: 7

Re: Сортировка двух таблиц

Спасибо, будем пробовать!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson