Php mysql如何通过查询父节点获取子节点的最小id
我有一张桌子叫 社论 包含标题和文本内容以及一个表 社论 包含前面提到的社论的图片 我想问一问 “社论” 还有一个封面图片(第一个输入的就可以了,所以是相对于那篇社论的最小id) 我陷入了疑问之中 我试过这个,但我得到了很多图片,我只需要一个Php mysql如何通过查询父节点获取子节点的最小id,php,mysql,nested-queries,Php,Mysql,Nested Queries,我有一张桌子叫 社论 包含标题和文本内容以及一个表 社论 包含前面提到的社论的图片 我想问一问 “社论” 还有一个封面图片(第一个输入的就可以了,所以是相对于那篇社论的最小id) 我陷入了疑问之中 我试过这个,但我得到了很多图片,我只需要一个 SELECT e.*,ef.foto FROM editoriale e INNER JOIN editoriale_foto ef ON ef.editoriale = e.id ORDER BY e.id DESC 有什么建议吗 多谢各位 SELE
SELECT e.*,ef.foto FROM editoriale e INNER JOIN editoriale_foto ef ON ef.editoriale = e.id ORDER BY e.id DESC
有什么建议吗
多谢各位
SELECT *
FROM editoriale_foto ef
LEFT JOIN editoriale e ON ef.editoriale = e.id
为您提供完整的fotos列表,并连接到它们的社论
如果你只需要为每篇社论选择第一张照片,你可以这样做:
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
)
我已经尝试过这个方法:选择e.*,从editoriale e内部加入editoriale_foto ef ON ef.editoriale=e.id GROUP BY ef.editoriale ORDER BY e.id DESC。它工作,但它不是我要找的。不要按降序排列,如果你想要最低的id,就按升序排列。如果您只需要一行外接程序
限制1
。您能否澄清结果中是需要editoriale中的一行还是多行?后者需要更复杂的查询才能获得第一篇社论的照片。请参阅已接受的答案。这正是我的意思。无论如何谢谢你,太好了!。谢谢你的详细回答。