MYSQL заказ с другого стола - PullRequest
4 голосов
/ 20 марта 2012

У меня есть вопрос.

У меня здесь 2 таблицы

Таблица 1: продукты

product_id , name , images_sideview

Таблица 2: описания_продукта

product_id , volgnr

Я хочу отсортировать их по номерам из таблицы 2 и поля volgnr.

Есть ли способ сделать это с помощью MySQL?

Ответы [ 3 ]

11 голосов
/ 20 марта 2012

Есть 2 способа сортировки. По возрастанию и по убыванию. Вы не упомянули заказ. Итак, я предоставляю вам оба ответа в двух вариантах:

ПОСЛЕДУЮЩИЙ ЗАКАЗ:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id ASC, table2.volgnr ASC;

ПОРЯДОК РАСШИРЕНИЯ:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id DESC, table2.volgnr DESC;

Если вы хотите указать MySQL сначала отсортировать FIRST по volgnr, а затем по product_id :

ПОСЛЕДУЮЩИЙ ЗАКАЗ:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr ASC, table2.product_id ASC;

по убыванию:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr DESC, table2.product_id DESC;

Надеюсь, это поможет.

Редактировать 1:

Я отредактировал запрос так, чтобы он не давал дубликатов в результатах. Попробуйте и дайте мне знать, как это происходит.

Редактировать 2: Добавлен пункт Group By. Попробуйте это.

1 голос
/ 20 марта 2012
select *
from products t1
inner join product_descriptions t2 on t1.product_id = t2.product_id
order by t2.volgnr
0 голосов
/ 20 марта 2012
SELECT p.'product_id', p.'name', p.'images_sideview' 
FROM products p 
LEFT JOIN product_descriptions d ON p.product_id = d.product_id 
ORDER BY d.volgnr;
...