3个联接表的LEFT JOIN中的MySQL ORDER BY问题

时间:2019-03-10 09:28:09

标签: mysql left-join sql-order-by jointable

我检查了几个条目,但是找不到任何解决方案。我在排序左连接表时遇到问题。这是我的桌子以及我想做什么。 (我的真实表,表名等是土耳其语。为避免语言上的困难,我在下面用英语共享了一个更简单的表版本。)

我有3张桌子:

SERVICES as s

|ID (s.id) | Related ProjectID (s.projectID)
--------------------------------------------
1          | 11
1          | 14
2          | 14
2          | 17 etc

PROJECTS as p:

projectID (p.projectID)  | name (p.name) |place| year | client etc.
-------------------------------------------------------------------
11                       | project 11    | ... | .... | ......
14                       | project 14    | ... | .... | ......
17                       | project 17    | ... | .... | ......

与我一样的图像:

ID(i.ID) | Related ProjectID(i.projectID)|order(i.order)|url(i.url)
-------------------------------------------------------------------
1        | 11                            | 6            | maaa.jpg
2        | 14                            | 3            | ccab.jpg
3        | 11                            | 4            | maca.jpg
4        | 11                            | 15           | daaa.jpg
5        | 14                            | 6            | faaa.jpg
6        | 11                            | 3            | mfaa.jpg
7        | 14                            | 4            | mafa.jpg
8        | 14                            | 1            | bbba.jpg

我需要从SERVICES中过滤一项服务,从PROJECTS表中获取相关项目列表及其数据(名称,地点,年份,客户等),并从IMAGES表中选择该项目的img,并使用最小的订购。 我已经可以加入表格,也可以向每个项目添加1张图片,但是无论我尝试什么,我总是从菜单中获取该“相关ProjectID(i.projectID)”的 first 图片IMAGES表,而不是“ order ”最小的图像。我离开联接时曾尝试对IMAGES表进行排序,但它也无济于事。 有人可以帮我吗?

0 个答案:

没有答案