我有桌子:
'gallery' - information about existing galleries
id_gallery name date
========== ==== ===========
1 ... timestamp
'photo' - information and name of every photo in system
id_photo photo_name
======== ===========
1 some name
'photo_gallery' - "connecting" table, which says which photo are in which gallery
id_photo_gallery id_photo id_gallery
================ ================ =================
1 id from 'photo' id from 'gallery'
我需要选择一个画廊(有一些关于它的信息,但这并不重要),只有一张照片来自'照片'表。
这(大惊喜)返回所有照片。 (关于图库的重复信息)
SELECT
photo_gallery.id_photo as id_photo
FROM
gallery
JOIN
photo_gallery ON gallery.id_gallery = photo_gallery.id_gallery
修改
这只返回一个画廊,而不是很多。我需要为每个图库检索一张照片...
SELECT
photo_gallery.id_photo as id_photo
FROM
gallery
JOIN
photo_gallery ON gallery.id_gallery = photo_gallery.id_gallery LIMIT 1
答案 0 :(得分:1)
请尝试以下查询:
SELECT galery.*, photo.*
FROM galery
LEFT JOIN photo_gallery ON galery.id = photo_gallery.id_gallery
LEFT JOIN photo ON photo_gallery.id_photo = photo.id
GROUP BY galery.id
答案 1 :(得分:0)
使用LIMIT
SELECT
pg.id_photo
FROM gallery g
LEFT OUTER JOIN (
SELECT id_gallery, MAX(id_photo) AS id_photo photo_gallery pg
GROUP BY id_gallery
) AS pg
ON g.id_gallery = pg.id_gallery
答案 2 :(得分:0)
试试这个
SELECT
gallery.name,
photo.photo_name
FROM
gallery
INNER JOIN photo_gallery
ON (gallery.id_gallery = photo_gallery.id_gallery)
INNER JOIN photo
ON (photo.id_photo = photo_gallery.id_photo_gallery)
ORDER BY gallery.id_gallery DESC
如果您想要更多数据写入字段名称...