jjzjj

MySQL inner join 3个表

coder 2023-10-03 原文

假设我有 3 张 table

  • 乘客(身份证[pk],姓名)
  • 飞机(登记 [pk],num_seats)
  • 预订(Id,passenger_id [fk -> Passenger.Id]airplane_registration [fk -> Airplane.registration] )

这里的预订表将是一个连接对象,因为表 Passenger 和 Booking 之间存在多对多关系。

我如何选择与特定预订 ID(例如“abcde”)相关的所有详细信息?

这是正确的吗:

SELECT Passenger.name, Airplane.num_seats, Booking.Id
  FROM Booking 
  JOIN Passenger ON Passenger.Id = Booking.passenger_Id
  JOIN Airplane ON Booking.airplane_registration = Airplane.registration
 WHERE Booking.Id = 'abcde';

这是正确的做法吗? 另外,如果我想选择所有预订及其详细信息,我会以同样的方式进行吗? (没有 where 子句)?

我想知道这对于测试是否正确,因为 MySQL 在我的机器上出现故障。

最佳答案

是的,您的查询适用于获取特定预订 ID 的乘客和航类的详细信息。为了获得所有预订,我会添加一个 ORDER BY bookingID,如果需要,还可以添加乘客姓名和航类登记。

关于MySQL inner join 3个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943376/

有关MySQL inner join 3个表的更多相关文章

  1. ruby-on-rails - 在rails中创建一个表并添加外键约束 - 2

    我有一个表students,字段为ward_id,我必须创建一个名为guardian_users的表,字段为id,ward_id,email,guardian_id,hashed_pa​​ssword等现在我必须添加约束外键。学生中的任何更新/删除/编辑/插入应该对guardian_users具有相同的效果。我如何在Rails2.3.5中做到这一点?students表存在,但其他表还不存在。 最佳答案 您要么需要foreign_key_migrations插件或#execute方法。假设您使用插件:classCreateGuardi

  2. javascript - Bookshelf.js 或 Knex.js 中 2 个表的外部连接 - 2

    我是Bookshelf.js和knex的新手。我需要在Bookshelf/knex中编写一个与此等效的查询SELECTInv.*,Comp.*FROMInv,CompWHEREInv.uId=2ANDComp.cId=Inv.cId;Inv表有:Id|primarykey,integernotnullcol1|stringdatacId|integer,foreignkeyreferencesCtableuId|integerforeignkeyreferenceUtable比较表有:cId|primarykey,integernotnullcol3|stringdata

  3. javascript - 如何使用 Javascript 对单个表列求和? - 2

    我的JSP上有一个生成的表,其中包含交易数据:每个单独的交易都是一行,并且有一列用于类别、金额、类型和描述。CategoryAmountTypeDescription结果是类别____金额____类型____描述我的表是使用Struts填充的:我在另一个JSP上选择一个部门,然后按“显示”转到生成该表的页面。因此,该表不一定具有固定的行数。我想做的是将每笔交易的金额列相加,以便显示总数。我尝试使用Javascript执行此操作,但它对我不起作用:varcls=document.getElementById("res").getElementsByTagName("td");varsum

  4. c# - 如何用 lambda 表达式连接 3 个表? - 2

    我有一个简单的LINQlambda连接查询,但我想添加一个带有where子句的第三个连接。我该怎么做?这是我的单一连接查询:varmyList=Companies.Join(Sectors,comp=>comp.Sector_code,sect=>sect.Sector_code,(comp,sect)=>new{Company=comp,Sector=sect}).Select(c=>new{c.Company.Equity_cusip,c.Company.Company_name,c.Company.Primary_exchange,c.Company.Sector_code,c.

  5. php - 从 2 个表加载数据并将第二个表数据设置为子数组 - 2

    是否可以使用PDO从2个表加载数据并将第二个表数据设置为第一个表的子数组?例如:表格:article(id,title,description)links(id,article_id,link)加载数据~:stdClassObject([article.id]=>1[article.title]=>blabla[article.description]=>exampledescription[article.links]=>array([0]=>array(links.id=>1links.article_id=>1links.link=>.......)[1]=>array(link

  6. php - Codeigniter:连接 3 个表并在 View 中显示数据 - 2

    所以我想加入3个表。我正在用Codeigniter构建一个应用程序,我有3个表客户:-id-电话号码-医院编号-smc_status-testing_center_id医院-id-姓名测试中心-id-姓名在模型中,我有这个:publicfunctionget_clients(){if($slug===FALSE){$this->db->select('clients.*');$this->db->from('clients');$this->db->join('hospital','clients.id=hospital.id');$this->db->join('testing_ce

  7. php - 如何从一个 .csv 文件 php 中的 3 个表导出数据 - 2

    我想从一个.csv文件中导出没有连接的3个表中的数据。我正在尝试连接,但没有得到我想要的结果。下面是我的表结构PlaylistSongsRating代码$mysql_host=DB_HOST;$mysql_user=DB_USER;$mysql_pass=DB_PASSWORD;$mysql_db=DB_NAME;$pre=$wpdb->prefix;$link=mysql_connect($mysql_host,$mysql_user,$mysql_pass)ordie('Couldnotconnect:'.mysql_error());mysql_select_db($mysql_

  8. java - 为什么我需要第三个表来进行多对多映射?为什么我不能只使用两个表? - 2

    我一直在尝试多对多两个类Person和Address之间的关系。我不知道,但在某个地方我没有按照正确的思路思考。例如对于多对多映射,我制作了两个表CREATETABLEperson(p_idINTEGER,p_nameTEXT,PRIMARYKEY(p_id));CREATETABLEaddress(a_idINTEGER,addressTEXT);然后我在映射xml中尝试了一些东西。在一些不成功的尝试之后,我读到你需要三个表来进行多对多映射,就像answer一样。对我的一个问题说。请解释一下这是什么原因?为什么我需要第三张table?为什么我不能仅与两个表建立关联?

  9. hadoop - Hive 加入 2 个表,一个有分区,另一个没有 - 2

    我必须对表格假设表格一是X,表格二是Z。表Z有一个分区谓词。表X是一个国家/地区表,具有以下字段country_id,country_name表Z包含一些数据,我想将该表的country_id映射到表X。我试过了selectc.country_id,c.country_name,s.sales_id,s.sales_ctry_idfromx_tablecjoinz_tableson(c.country_id=s.sales_ctry_id)但是因为表Z是按日期字段分区的,所以我无法让这个连接工作。有什么建议吗? 最佳答案 您应该使用

  10. mongodb - 使用 rails 连接 mongodb 中的 2 个表 - 2

    如何在使用Rails时对2个表执行连接操作?提供一个简单的解决方案来执行对连接2个表的搜索。 最佳答案 您将数据副本存储在多个表/集合中。这样一来,您就不需要将相关数据拼接在一起所需的JOIN和查找。您避免了联接并且存储了更多数据。在mongoid中有两个很棒的gem可以使这更容易:Mongoid_alize&Mongoid_denomalizehttp://blog.joshdzielak.com/blog/2012/05/03/releasing-mongoid-alize-comprehensive-field-denorma

随机推荐