我究竟想要做的是〜
我有兩個表中的一個被稱爲model
,另一種被稱爲model_image
。
我想如果存在數據從model_image
model
和img_name
選擇no
,name
,mobile
。
select m.no, m.name, m.display_name, m.mobile, i.img_name
from model as m
left join model_image as i on m.no = i.model_no
order by i.sort desc
limit 1
所以,我做了這個查詢,但我不知道我怎樣才能得到它不具有MODEL_IMAGE表中的任何數據資料的想法。
任何人都可以幫到我嗎?
謝謝〜
以下查詢作品謝謝〜
select m.no, m.name, m.display_name, m.mobile, IFNULL(i.img_name, '') AS img_name
from model as m
left join (
SELECT a.model_no, a.img_name
FROM model_image AS a
JOIN (SELECT model_no, MAX(sort) AS maxsort
FROM model_image
GROUP BY model_no) AS b
ON a.model_no = b.model_no AND a.sort = b.maxsort) AS i
on m.no = i.model_no
這應該通過以下方式實現的'左join'您使用。你確定你不會錯過它,因爲你只將結果限制在一行? – spiderman
是的,我想獲得模型信息和只有一個模型圖像這是最高的排序數字。每個模型有很多圖片,但我只想顯示首頁只有一張圖片和名稱..所以我寫下了限制1. –
'LIMIT'子句適用於整個查詢,而不是每個模型1行。 – Barmar