在没有连接查询的情况下合并两个 table 列

Merge two table columns without join query

我正在 Laravel 制作项目。我有多个 table,其中两个 table 是书籍和作者。 作者有专栏:

-id
 -name
 -all_books(',' separated values)
 -recent_books
 Books has columns :
 -id
 -author_id(foreign key(from author table))
 -title
 -genre
 -pages

现在,我想获取书籍的所有数据。但是我想显示作者姓名而不是 author_id 这怎么可能。加入将迫使我提出条件。所以不想这样做。 任何建议将不胜感激。

由于作者 ID 是唯一的,因此不可能有多个作者姓名具有相同的 ID。所以相关子查询总是 return 单个值。所以不需要加入。

SELECT b.id
     , (SELECT name FROM author WHERE id = b.author_id) author_name
     , b.title
     , b.genre
     , b.pages
FROM books b