我想 Select 表A中的所有列,只 Select 表B中的一列,因为信息是相关的,所以我try 连接表,但失败了.
下面的设置可以作为示例,请注意genreId是TbGenres(Id)的外键:
TbBooks
id | title | genreId |
---|---|---|
1 | 'title1' | 4 |
2 | 'title2' | 4 |
3 | 'title3' | 2 |
TbGenres
id | name |
---|---|
1 | 'Action' |
4 | 'Comedy' |
我想要一个根据genre_id提供以下内容的查询.因此,例如,当我们将4作为查询的参数传递时:
id | title | genreId | name |
---|---|---|---|
1 | 'title1' | 4 | 'Comedy' |
2 | 'title2' | 4 | 'Comedy' |
我try 使用带有WHERE子句的INTER JOIN和其他JOIN,如下所示:
SELECT a.*, b.name from TbBooks AS a INNER JOIN TbGenres AS b WHERE a.genreId = 4
But it returned multiple repeated rows with incorrects TbGenres names.
有人能帮一下这个忙吗?我还想过使用UNION,但我不能使用,因为我在两个表中的列数不同.