Упорядочить mysql-запрос по алфавиту, строка дана для числа? - PullRequest
0 голосов
/ 13 августа 2011

Мне нужно упорядочить строки над столбцом source. Однако вот таблица, к которой я обращаюсь (упрощенно):

+---+-------+-----+
|id |source |foo  |
+---+-------+-----+
|1  |5      |hey  |
|2  |7      |yo   |
+---+-------+-----+

А вот источники:

+---+-------+
|id |name   |
+---+-------+
|5  |First  |
|7  |Awesome|
+---+-------+

Теперь, если я использую запрос, подобный этому:

SELECT * FROM table ORDER BY source

... результаты будут упорядочены по идентификатору источника, а не по его фактическому имени. Я мог бы просто заказать результаты в PHP, но я ищу sql-решение, если оно доступно.

Любая помощь будет оценена!

Ответы [ 2 ]

2 голосов
/ 13 августа 2011

Похоже, вам просто нужно объединить столы, вот так:

SELECT * FROM table, sources WHERE table.source = sources.id ORDER BY sources.name

Предполагая, что ваша таблица источников называется источниками ...

0 голосов
/ 13 августа 2011

Я не уверен, что вполне понимаю, что вас удивляет в том, как mysql упорядочивает результаты, но если вы хотите, чтобы результат упорядочивался в алфавитном порядке, вам нужно упорядочить по имени, а не по источнику, потому что источникявляется целым числом.

...