gpt4 book ai didi

LEFT JOIN 内的 MySql LEFT JOIN

转载 作者:行者123 更新时间:2023-11-29 01:42:03 27 4
gpt4 key购买 nike

我正在尝试对搜索框执行以下 MySql 查询。我试图返回“专辑”信息(标题等),同时包含该专辑中第一张图片的缩略图。但是,我必须查找两个表才能获取图像信息。首先,photos_albums包含该相册中的所有图像,获取第一张图像 ID从该表中,然后在 photos 中查找该图像信息 table 。我相信我遇到的问题是我需要告诉第一个 LEFT JOIN 将查询限制为 1,但我没有运气这样做。我想我需要在 JOIN 中进行 JOIN 吗?对此的任何帮助将不胜感激。

SELECT albums.title, albums.title_url, photos.path, photos.medType, photos.vpath
FROM albums
LEFT JOIN photos_albums
ON photos_albums.album_id = albums.id
LEFT JOIN photos
ON photos_albums.photo_id = photos.id
WHERE albums.user = '$site_user'
AND (
albums.title LIKE '$keyword%'
OR albums.title LIKE '% $keyword%')
LIMIT 6

最佳答案

你可以试试这样的东西

SELECT a.title, a.title_url, q.path, q.medType, q.vpath
FROM albums a LEFT JOIN
(
SELECT pa.album_id, pa.photo_id, p.path, p.medType, p.vpath
FROM
(
SELECT album_id, MIN(photo_id) photo_id
FROM photos_albums
GROUP BY album_id
) pa JOIN photos p
ON pa.photo_id = p.id
) q
ON a.id = q.album_id
WHERE a.user = '$site_user'
AND (
a.title LIKE '$keyword%'
OR a.title LIKE '% $keyword%')
LIMIT 6

关于LEFT JOIN 内的 MySql LEFT JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com