在一个查询中选择多对多表

2023-12-14

我有桌子:

**RUBRIC:** `RubricID, RubricName`

**AUTOR:** `AutorID, FirstName, LastName`

**BOOK:** `BookID, BookName, book_photo`

**BOOKAUTOR:** `BookID, AutorID`

**BOOKRUBRIC:** `BookID, RubricID`

我想编写一个返回 BookName、FirstName、LastName、RubricName 的 SELECT 查询。

我有两个单独的查询,但我不知道如何在一个选择中编写它。 这就是我得到的:

SELECT book.BookName, autor.FirstName, autor.LastName FROM bookautor JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID;

SELECT rubric.RubricName FROM bookrubric JOIN rubric ON rubric.RubricID=bookrubric.RubricID;

效果很好,但是如何在一个选择中写入呢?

我尝试这样做,但它不起作用:

SELECT book.BookName, autor.FirstName, autor.LastName, rubric.RubricName FROM bookautor,bookrubric JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID LEFT JOIN rubric ON rubric.RubricID=bookrubric.RubricID;

它返回错误:

ERROR 1054 (42S22): Unknown column 'bookautor.BookID' in 'on clause'

尝试这个查询

SELECT book.BookName, autor.FirstName, autor.LastName, rubric.RubricName 
FROM bookautor
JOIN book ON book.BookID=bookautor.BookID 
JOIN autor on autor.AutorID=bookautor.AutorID 
left join bookrubric on book.BookID=bookrubric.BookID
LEFT JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一个查询中选择多对多表 的相关文章

  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 慢速自动增量重置

    我有很多表 由于某些原因 我需要在应用程序启动时调整这些表的自动增量值 我尝试这样做 mysql gt select max id from item max id 97972232 1 row in set 0 05 sec mysql
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 如何识别拼写不同的相似单词

    我想从数据库中过滤掉重复的客户名称 一位客户可能有多个同名但拼写差异不大的系统条目 这是一个示例 名为 Brook 的客户可能有 3 个系统条目 有了这个变化 布鲁克 贝尔塔 布鲁克 贝尔塔 比鲁克 贝尔塔 假设我们将此名称放入一个数据库列
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • 解析带下划线的 SQL Server 数字文字

    我想知道它为什么有效以及为什么它不返回错误 SELECT 2015 11 Result 11 2015 第二种情况 SELECT 2 1 a a 2 1 检查元数据 SELECT name system type name FROM sys
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat

随机推荐

  • iPhone - 获取 UIView 在整个 UIWindow 中的位置

    的位置UIView显然可以由下式确定view center or view frame等等 但这仅返回UIView与其直接监督有关 我需要确定的位置UIView在整个 320x480 坐标系中 例如 如果UIView是在一个UITableV
  • C 中非原子类型的原子操作是原子的吗?

    C17 标准指定了原子操作列表 例如 对类型为原子的对象进行原子读 写 修改操作A标准中定义为 C atomic fetch add volatile A object M operand 但我们可以打电话atomic fetch add对
  • python字典到具有多列的pandas数据框

    我有以下 python 字典 d data Counter important 2 very 3 analytics Counter boring 5 sleep 3 我想将其保存为以下格式的 pandas 数据框 category wor
  • Objective-c 上的指针

    据我了解 如果我错了 请纠正我 int x count 10 int hello hello count x hello 这里变量 x 和 count 被声明为整数类型 此外 变量 count 的值被指定为 10 hello 是一个指向整数
  • R将布局对象的网格单位转换为原生

    我的问题有点与使用 R 中的网格将单位从 npc 转换为本地单位 我试图找出 ggplot2 对象中某些绘图元素的位置 轴 主图等 我找到了以下代码 rm list ls library ggplot2 library grid libra
  • 多次调用setcontentview?

    如果我的布局相同但资源发生变化 我可以多次调用 setcontentview 吗 例如 如果图像在 2 个 imageview 小部件中交换 这实际上是我的应用程序中发生的所有情况 您可以多次切换 setContentView 然而 我在实
  • 无法读取 servlet 中的表单字段[重复]

    这个问题在这里已经有答案了 嘿 我对 servlet 环境很陌生 在这里 我尝试将一个表单发布到我的 servlet 如下所示
  • 如果图像被裁剪/调整大小,Camera Intrinsics 将如何变化?

    我有一个来自 Realsense 相机的录制相机 ROS 包文件 所记录设置的相机内部结构已经知道 图像的初始分辨率为848 480 由于相机视场中有一些视觉障碍 我想裁剪掉图像的顶部 这样我正在使用的视觉 SLAM 算法就不会检测到它 由
  • VBA一次性删除所有幻灯片

    我找到了一段代码 可以一张一张地删除除活动幻灯片 索引1 之外的所有ppt幻灯片 但是 任何人都可以帮助我重写这段代码 以便一键操作该代码 我不想循环播放每张幻灯片 因为大约有 300 张幻灯片需要删除 这是我的代码 Sub Deletes
  • 如何使用smack 4.1发送信息查询包到xmpp服务器?

    如何向xmpp服务器发送信息查询包 换句话说 如何向服务器发送 来查询一些信息
  • 同时读取多个文件是个好主意吗?

    我们公司的一台服务器有32个CPU 我们有1000 个非常大的文件需要处理 我不确定同时读取 32 个文件是否是一个好主意 这样所有内核也可以同时执行独立计算 谁能简单解释一下硬盘的工作原理 如果同时读取32个文件 读取速度会不会变慢 谢谢
  • 如何获取构造函数的代码引用?

    我有以下代码 my coderef MyModule MyTool gt new 但当我尝试时 coderef gt 我收到错误 Not a CODE reference 如何引用构造函数 不调用它 并稍后运行引用的代码 The 是标量解引
  • 使用 SortDescriptor AND Predicate 对 NSMutableArray 进行排序可能吗?

    我有一个 Restaurant 类型的数组 其中有一个 Rating 的 NSSet 评级有一个 ID 和一个值 我想按 ID 为 01 的评级从高到低对餐厅数组进行排序 类似于下面的内容 但是如何在originalArray上一起使用谓词
  • 当输入无效值时,用户必须在 C 中重试新值

    对于我的硬件分配 我必须创建一个程序 根据用户输入输出基于星号的三角形 我已经让我的程序正常工作 只要用户输入一个整数 就会输出正确的三角形 但我的问题是 当输入无效值时 如何使用户必须重新尝试提交值 我查看了论坛 但没有找到类似的问题 i
  • 在摘要页面上显示用户输入

    我在产品旁边有几个数量框 以便用户可以输入他们想要的某种产品的数量 该设置使用 Jquery 逐步进行 第一步由复选框组成 第二步由数量输入组成 我需要帮助 最后一步显示已选择的内容 全部提交收到电子邮件给我 带复选框的第 1 步已完成 在
  • Meteor:观察回调中的 Meteor.call() 不执行

    是否有可能从内部调用服务器方法observeMeteor 中的回调 我整理了一个重现该问题的示例 即Meteor call 从回调中调用myCursor observe 不执行 当从观察回调中调用时 Meteor method它本身也不会回
  • 右值引用的对象内部的对象也是右值引用的吗?

    右值引用的对象内部的对象也是右值引用的吗 struct A struct B A a2 template
  • NullPointerException 接近警报

    我正在创建一个应用程序 它使用 GPS 跟踪用户位置 将经度和纬度存储在 SQLite 数据库中并添加接近警报 参考 http www javacodegeeks com 2011 01 android proximity alerts t
  • MongoDB 正则表达式查询:为什么这不起作用?

    请参阅倒数第二个输入 注意 我正在使用http try mongodb org gt person fullname Derek Litz fullname Derek Litz gt db people save person ok gt
  • 在一个查询中选择多对多表

    我有桌子 RUBRIC RubricID RubricName AUTOR AutorID FirstName LastName BOOK BookID BookName book photo BOOKAUTOR BookID AutorI