在没有连接查询的情况下合并两个 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
我正在 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