Mysql присоединиться к заказу - PullRequest
4 голосов
/ 02 декабря 2011

У меня есть две таблицы следующим образом:

Таблица user_prefs:

user_prefs_id    int(11) PK
user_id          int(11)
item             varchar(128) PK
category_id      smallint(6)
parent           smallint(6)
rank             tinyint(4)
dateadded        datetime

Категории таблиц:

category_id      int(11) PK
name             varchar(255)
main_category    varchar(64)
parent           int(6)
isparent         enum('No','Yes')
display_rank     int(9)
active           enum('Yes','No')

Я делаю выбор из user_prefs на основе user_id, но хочу отсортировать по имени категории, которое находится в таблице категорий - category_id сопоставляется между двумя таблицами

Возможно ли это?

Ответы [ 4 ]

5 голосов
/ 02 декабря 2011
SELECT u.*
FROM user_prefs u
   JOIN categories cat ON u.category_id = cat.category_id
WHERE p.user_id = 10 /* Put user id here*/
ORDER BY cat.name
0 голосов
/ 02 декабря 2011

Это должно работать для вас

SELECT up.*, c.name
FROM user_prefs up
JOIN categories c ON c.category_id = up.category_id
WHERE up.user_id = ?
ORDER BY c.name;
0 голосов
/ 02 декабря 2011

Конечно ...

SELECT p.*
FROM user_prefs p
JOIN categories c ON (p.cateogory_id = c.category_id)
WHERE p.user_id = ?
ORDER BY c.name;
0 голосов
/ 02 декабря 2011
select u.*, c.category
from user_prefs u
INNER JOIN categories c ON u.category_id = c.category_id
order by c.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...