Mysql 使用LIMIT和JOIN

Mysql 使用LIMIT和JOIN,mysql,Mysql,我有两张桌子:乐队和专辑。结构如下 乐队: 标识带 名字 相册 相册 标识带 名字 所以,我需要一个查询,显示所有专辑从最后插入乐队 我试着这样做: SELECT bands.name, albums.name FROM bands JOIN albums ON albums.id_band = bands.id_band ORDER BY bands.id_band DESC LIMIT 1 但我只得到了第一张专辑。不是所有乐队的专辑。如何修复它?查询: SELECT b.name, a.n

我有两张桌子:乐队和专辑。结构如下

乐队: 标识带 名字

相册 相册 标识带 名字

所以,我需要一个查询,显示所有专辑从最后插入乐队

我试着这样做:

SELECT bands.name, albums.name
FROM bands
JOIN albums ON albums.id_band = bands.id_band
ORDER BY bands.id_band DESC
LIMIT 1
但我只得到了第一张专辑。不是所有乐队的专辑。如何修复它?

查询:

SELECT b.name, a.name
FROM (SELECT name, id_band
    FROM bands
    ORDER BY id_band DESC
    LIMIT 1) AS b
JOIN albums a ON a.id_band = b.id_band 
SELECT b.name,
       a.name
FROM bands b
JOIN albums a ON a.id_band = b.id_band
WHERE b.id_band = (SELECT max(id_band)
                   FROM bands)

现在我得到了MySQL错误:1064我想知道问题是名称是否是保留字。尝试在内联视图中限定列引用,例如,从SELECT d.name、d.id\U band FROM bands d ORDER BY d.id\U band DESC LIMIT 1 b。错误1064是一个语法错误。我使用MySQL 5.5测试了上面所写的查询,它运行良好,没有错误。您可能输入了错误的查询。另一种可能性是,您使用的是MySQL 4.0,它不支持子查询,但这不太可能,因为4.0太旧了。