簡體   English   中英

來自另一個表的MYSQL訂單

[英]MYSQL Order from another Table

我有個問題。

我這里有2張桌子

表1:產品

product_id , name , images_sideview

表2:product_descriptions

product_id , volgnr

我想用表2和volgnr字段中的數字對它們進行排序。

有沒有辦法用mysql做到這一點?

有兩種排序方式。 升序和降序。 你還沒有提到訂單。 所以我為您提供兩種變體的答案:

提交訂單:

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首先按照volgnr排序FIRST,然后按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子句。 試試吧。

select *
from products t1
inner join product_descriptions t2 on t1.product_id = t2.product_id
order by t2.volgnr
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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM