mysql - 需要一些复杂的 SQL 查询帮助

标签 mysql

我需要一些关于复杂 SQL 查询的帮助。这是我的设置:有两张表,一张是作者,另一张是书。 books 表包含一个名为“author”的字段,其中包含作者的 ID。如果一本书有多个作者,那么“作者”字段将包含所有由“;”分隔的作者 ID。 (类似于 2;34;234)。

在网站上,我必须列出作者所写的所有书籍。如果只有一个作者,很简单,但是我怎么能得到那些我感兴趣的作者是第二或第三作者的书呢?

非常感谢。

最佳答案

这是糟糕的表格设计示例。理想情况下,您将有 3 个表 books , books2authors , authors .
books2authors会持有book_idauthor_id因此一本书可以有更多作者,您可以在 SQL 中轻松地与他们合作。

如果你不能改变设计,那么我会去拿所有的书,解析 author_id字段,如果您只想获得第二作者,请发出额外查询 select * from authors where id = <second_author>获取您需要的信息。

关于mysql - 需要一些复杂的 SQL 查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819938/

相关文章:

mysql - 需要特定的 mysql 语句才能在一次选择中获取主词和所有词

mysql - 根据存储在另一个表中的元数据搜索表中行的最有效方法是什么?

mysql - 执行多个.SQL 文件

php - mysql函数问题

php - phpmyadmin插入数据时插入空白记录

php - 将 MySQL 数据加载到 PHP 数组中

php - 停止两个jquery之间的冲突

mysql - 成员(member)行动表数据模型建议

mysql - 我可以在 LIMIT 偏移量中使用 MySQL 函数吗

php - 使用 php 从数据库中选择表