我正在尝试执行一个SQL查询,如果它在表2中有相应的值,它将返回表1中的所有值。我还想在表2中返回相应的值,但是如果他们只将它们限制为1是多个值。
以下是数据示例:
TABLE 1: album
-------------
ALBUM_ID
1
4
5
13
TABLE 2: photo
-------------
PHOTO_ID ALBUM_ID IMAGE
1 4 img1
4 4 img2
6 1 img17
15 4 img15
24 3 img3
因此,根据以上数据,我希望返回以下内容:
ALBUM_ID:1 IMAGE17 //因为相册1有关联的图像 ALBUM_ID:4 IMAGE1 //因为专辑4有关联的图像,但我只想要一个图像
我目前的查询是:
SELECT *
FROM album
INNER JOIN photo ON album.album_id=photo.album_id
GROUP BY album.album_id
然而,这会返回照片中的所有列,我只是希望它返回Image,而不是photo_id或album_id
任何帮助都会很棒,谢谢!
答案 0 :(得分:1)
试试这个:
SELECT al.*, ph.column_name
FROM album AS al
INNER JOIN photo AS ph ON album.album_id=photo.album_id
GROUP BY album.album_id
答案 1 :(得分:0)
pls / sql和t-sql对这个双重结果有特殊功能
我认为mysql没有......但尝试使用带有限制的子查询
for mysql尝试下一个查询 //没有经过测试......从我破碎的心灵中写下来
SELECT
alb.*, -- or all columns with prefix alb
pho.IMAGE
FROM album alb
INNER JOIN (
SELECT ALBUM_ID, IMAGE FROM photo LIMIT = 1
) pho ON pho.ALBUM_ID = alb.ALBUM_ID
工作?