сортировка по двум столбцам

sickboy

Новичок
сортировка по двум столбцам

Hi,

существует каталог фильмов :)

orig_name | rus_name
---------------+----------------
Крас... | Boon
Шило | Schilo
Некрон | Necron
Автосто... | Hitc


из каталога необходимо получить алфавитный список:

SELECT DISTINCT SUBSTRING(rus_name, 1, 1) AS
letter_ru, SUBSTRING(orig_name, 1, 1) AS letter_en
FROM moviez ORDER BY rus_name, orig_name;

Получаю:

+-----------+-----------+
| letter_ru | letter_en |
+-----------+-----------+
| А | H |
| К | B |
| Н | N |
| Ш | S |
+-----------+-----------+

сортировка работает только по первому столбцу,
а как сделать по двум, не могу понять, подскажите
пожалусто если не решение, то в каком направлении
его искать.
 

Фанат

oncle terrible
Команда форума
прежде, чем искать решение, надо сформулировать задачу.
а у тебя она не сформулирована.

попытайся ещё раз.
подсказка: "сортировка по двум столбцам" - это не задача. сортировка у тебя прекрасно работает, только пыль стоит.
Беда в том, что ты не понимаешь смысла этих слов. поэтому попытайся своими словами объяснить, что тебе надо.

судя по всему, ты и сам этого не знаешь
 

Romashov

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

sickboy

Новичок
Ok.
Мне нужно создать упорядоченный алфавитный каталог на основе имеющихся в базе фильмов.

т.е. А|Б|В|Г|Д|Е|Ж

исходя из приведенного примера выше, каталог должен получится таким:
А|К|Н|Ш
но мне нужно помимо руского каталога еще и английский, т.е.
должен получиться такой:
B|H|N|S
Вот вопрос. Как составить запрос к таблице чтобы получить выборку вида:
+-----------+-----------+
| letter_ru | letter_en |
+-----------+-----------+
| А | B |
| К | H |
| Н | N |
| Ш | S |
+-----------+-----------+
 

Romashov

экспериментатор
Тебе нужно 2 разные выборки, а не одна.
Вот и всё решение задачи.
 

python

Новичок
sickboy
тебе это принципиально через sql?
две строчки на пхп гораздо проще, иначе через подзапросы
 

Romashov

экспериментатор
две строчки на пхп гораздо проще, иначе через подзапросы
тут и через подзапросы не сделаешь - записи можно отсортировать, но ни в коем случае не разорвать.
 

Фанат

oncle terrible
Команда форума
а ему не нужны записи.
ему нужны два списочка на странице - песенки на английские буквы, и песенки на русские.
но в силу врождённого косноязычия, человеческим языком этот больной мальчик свою проблему объяснить не в состоянии
 

sickboy

Новичок
сделал через два запроса:
SELECT DISTINCT SUBSTRING(rus_name, 1, 1) AS letter_ru FROM moviez ORDER BY rus_name;

SELECT DISTINCT SUBSTRING(orig_name, 1, 1) AS letter_en FROM moviez ORDER BY orig_name;
 

python

Новичок
Romashov
ну вот не скажи.
(select en) left join (select ru)
по id - параметр-автоинкремент
 

Romashov

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

alpine

Новичок
/************
Вот вопрос. Как составить запрос к таблице чтобы получить выборку вида:
+-----------+-----------+
| letter_ru | letter_en |
+-----------+-----------+
| А | B |
| К | H |
| Н | N |
| Ш | S |
+-----------+-----------+
*************/
Это для гимнастики ума? А потом ты пойдешь во все о программировании стпрашивать как тебе из такой таблицы сделать лучше вывод на страницу? :D
 
Сверху