2015-09-29 99 views
0

我有一臺叫了孩子的最小內徑的MySQL如何通過查詢父

editoriale

包含標題和文字內容和一個表

editoriale_foto

包含前面提到的編輯器的圖片。

我想查詢

「editoriale」

剛纔還封面圖像(這可能是確定的第一個輸入 - 所以相對於社論最小ID)。

我迷失在查詢中。

我試過這一個,但我得到了很多圖像,我只需要一個。

SELECT e.*,ef.foto FROM editoriale e INNER JOIN editoriale_foto ef ON ef.editoriale = e.id ORDER BY e.id DESC 

任何建議?

非常感謝您

+0

我已經試過這一個: SELECT e。*,ef.foto FROM editoriale e INNER JOIN editoriale_foto ef ON ef.editoriale = e.id GROUP BY ef.editoriale ORDER BY e.id DESC。它可以工作,但這不是我正在尋找的。 – Aptivus

+1

不要按降序排列,如果您希望最低的ID先排列,請按升序排列。如果你只想在「限制1」中添加一行。 – chris85

+0

你能澄清你是否想從結果中的editoriale或行1?後者需要更復雜的查詢來獲得第一個editoriale_photo。 –

回答

2
SELECT * 
FROM editoriale_foto ef 
LEFT JOIN editoriale e ON ef.editoriale = e.id 

給你照片的整個列表,並連接到他們editoriales。

如果您需要選擇只有第一張照片爲每個editoriale你可以做某事像這樣:

SELECT MIN(id) 
FROM editoriale_foto 
GROUP BY editoriale 

所以結果,你可以使用這個查詢:

SELECT * 
FROM editoriale_foto ef 
LEFT JOIN editoriale e ON ef.editoriale = e.id 
WHERE ef.id IN (
    SELECT MIN(id) 
    FROM editoriale_foto 
    GROUP BY editoriale 
) 
+0

它的完美!感謝您的詳細解答。 – Aptivus