MYSQL按另一个表列排序但需要一些(和)条件

时间:2015-11-27 01:34:50

标签: mysql sql-order-by

以下是数据库表和一些记录 enter image description here

我想要达到的目标是 从产品排序条件(ORDER BY)中选择所有内容 首先,products_campaign end_date ASC。 二,产品得分DESC 但是WHERE条件是products_campaign enable等于1

结果如此。我希望将所有产品显示为排序,首先它有活动的广告系列(启用)按end_date排序,如果没有,则按分数排序。 提及:某些产品在products_campaign中没有记录(例如productctID:104)。 我尝试使用LEFT JOIN但产品ID 104不会被选入结果列表。

有任何帮助吗? 最诚挚的问候

1 个答案:

答案 0 :(得分:1)

检查这是否有帮助

SELECT A.* 
FROM PRODUCTS A LEFT OUTER JOIN 
  (SELECT * FROM PRODUCTS_CAMPAIGN WHERE ENABLE = 1) AS B
ON A.PRODUCT_ID = B.PRODUCT_ID
ORDER BY B.END_DATE ASC, A.SCORE DESC