【问题标题】:MYSQL nested inner join queryMYSQL 嵌套内连接查询
【发布时间】:2019-05-05 12:46:44
【问题描述】:

我想创建一个嵌套查询,它在外部从名为“书籍”的表中获取标题和价格,同时在查询内部有一个嵌套,用于获取该特定书籍的作者名字和姓氏。我只是对内部连接以及它们需要放置的位置有点困惑。这是我所能得到的最接近的结果,但这只是为每本书打印每个作者。

select Title, AuthorFirst, AuthorLast,Price from Book
JOIN
(select AuthorLast,AuthorFirst from Author 
INNER JOIN Wrote on Author.AuthorNum = Wrote.AuthorNum 
INNER JOIN Book on Wrote.BookCode = Book.BookCode group by title desc)Auth;

这将连接我需要的表,但它会打印数据库中的每个作者和数据库中的每本书。我认为这与我的内部连接不够具体有关。

【问题讨论】:

  • A minimal reproducible example 包括 DBMS(带版本)、清晰的规范、剪切和粘贴和可运行代码(具有小的代表性输入)(将表格初始化格式化为表格)和可区分(因此有序)所需的输出.但是调试的绝对基础说:表明你的程序在通过(子)表达式时做了你期望的事情,说明它是什么,并表明它实际上是通过增量输出做到的。在添加您无法修复的问题代码时,请研究(手册和网络)。重复,尽量减少工作代码和错误代码。然后询问工作示例和非工作示例之间的(小)差异。
  • 为什么特别需要使用嵌套查询?看起来你不需要它来实现你的目标

标签: mysql sql join select inner-join


【解决方案1】:

group by 子句是错误的,您应该删除它。一旦你这样做了,就没有必要嵌套joins - 你可以在同一个查询中有几个连接:

SELECT     Title, AuthorFirst, AuthorLast, Price
FROM       Book
INNER JOIN Wrote ON Author.AuthorNum = Wrote.AuthorNum 
INNER JOIN Book ON Wrote.BookCode = Book.BookCode

【讨论】:

  • 不幸的是我必须嵌套,否则我已经完成了
猜你喜欢
  • 1970-01-01
  • 2022-01-01
  • 2013-07-08
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2011-08-25
相关资源
最近更新 更多