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

  • Автор темы Автор темы sickboy
  • Дата начала Дата начала

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 |
+-----------+-----------+

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

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

судя по всему, ты и сам этого не знаешь
 
сортировка по двум столбцам сразу (параллельно) невозможна
вот если у тебя есть одинаковые значения в первом поле - вот только тогда надо сортировать по второму
 
Ok.
Мне нужно создать упорядоченный алфавитный каталог на основе имеющихся в базе фильмов.

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

исходя из приведенного примера выше, каталог должен получится таким:
А|К|Н|Ш
но мне нужно помимо руского каталога еще и английский, т.е.
должен получиться такой:
B|H|N|S
Вот вопрос. Как составить запрос к таблице чтобы получить выборку вида:
+-----------+-----------+
| letter_ru | letter_en |
+-----------+-----------+
| А | B |
| К | H |
| Н | N |
| Ш | S |
+-----------+-----------+
 
Тебе нужно 2 разные выборки, а не одна.
Вот и всё решение задачи.
 
sickboy
тебе это принципиально через sql?
две строчки на пхп гораздо проще, иначе через подзапросы
 
две строчки на пхп гораздо проще, иначе через подзапросы
тут и через подзапросы не сделаешь - записи можно отсортировать, но ни в коем случае не разорвать.
 
а ему не нужны записи.
ему нужны два списочка на странице - песенки на английские буквы, и песенки на русские.
но в силу врождённого косноязычия, человеческим языком этот больной мальчик свою проблему объяснить не в состоянии
 
сделал через два запроса:
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;
 
Romashov
ну вот не скажи.
(select en) left join (select ru)
по id - параметр-автоинкремент
 
sickboy
Как должна выглядеть результирующая таблица в случае разного количества различных русских и английских букв?
 
/************
Вот вопрос. Как составить запрос к таблице чтобы получить выборку вида:
+-----------+-----------+
| letter_ru | letter_en |
+-----------+-----------+
| А | B |
| К | H |
| Н | N |
| Ш | S |
+-----------+-----------+
*************/
Это для гимнастики ума? А потом ты пойдешь во все о программировании стпрашивать как тебе из такой таблицы сделать лучше вывод на страницу? :D
 
Сверху