gpt4 book ai didi

mysql - 使用连接来处理 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 15:00:35 24 4
gpt4 key购买 nike

我有 3 个表用于存储有关书籍的信息:

books
-----
id
title

authors
-------
id
name

books_to_authors
----------------
book_id
author_id

当显示一本书的信息时,我希望能够选择同一作者的任何其他书籍。

我从第一个查询中获得了当前的图书 ID,但我不知道从哪里开始来实现我所需要的,因为可能有多个作者。显然,只要其中一个就很简单,所以我真的很挣扎。任何帮助将不胜感激!

最佳答案

我认为这应该做得到。只需将 ? 替换为他们当前正在查看的图书 ID,这将为您提供同一作者的所有图书。

SELECT b.*
FROM books b
INNER JOIN books_to_authors b2a ON b2a.book_id = b.id
WHERE b2a.author_id IN (
SELECT author_id FROM books_to_authors WHERE book_id = ?
)

如果您想排除他们当前正在查看的图书,您可以像这样更改查询:

SELECT b.*
FROM books b
INNER JOIN books_to_authors b2a ON b2a.book_id = b.id
WHERE b2a.author_id IN (
SELECT author_id FROM books_to_authors WHERE book_id = ?
)
AND b.id <> ?

关于mysql - 使用连接来处理 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3281248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com