【问题标题】:How can I select from different tables in one MySQL query?如何在一个 MySQL 查询中从不同的表中进行选择?
【发布时间】:2014-08-30 07:14:45
【问题描述】:
table1
id firstname
-------------
1 Elon
2 Steve


table2
id profession
-------------
1 Entrepreneur
2 Engineer


table3
firstname profession
-------------
1 2
2 1

需要结果:

firstname profession
-------------
Elon Engineer
Steve Entrepreneur

如何在一个 MySQL 查询中从不同的表中进行选择? 如何在一个 MySQL 查询中从不同的表中进行选择?

【问题讨论】:

  • 在这里提问之前,如果您在谷歌搜索中发布您的问题,请学习一些 sql 查询意味着您会得到很多帮助google.co.in/…
  • 在相关列上使用 JOIN?
  • 使用 jois:左、右或内

标签: php mysql sql relation


【解决方案1】:

这个语句应该给你你需要的结果。

select t1.firstname, t2.profession from table1 t1 join table3 t3 on t1.id=t3.firstname join table2 t2 on t3.profession = t2.profession

【讨论】:

  • #1146 - 表 'test.t2' 不存在
  • @user2429282 查询有误,您可以再试一次吗?
  • @user2429282 你能显示你的表的创建语句吗?
【解决方案2】:

你可以这样做:

SELECT t1.firstname, t2.profession
   FROM table1 as t1
   LEFT JOIN table3 as t3 ON t1.id = t3.firstname
   LEFT JOIN table2 as t2 on t2.id = t3.profession

这个有效,经过测试

【讨论】:

  • #1054 - “字段列表”中的未知列“t2.profession”
  • 比你没有那个名字的列,你为什么不给我们:describe table1;描述表2;描述 table3;
  • 我编辑了我的帖子,这个查询已经过测试并且可以正常工作
猜你喜欢
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-14
  • 2012-10-15
  • 2010-12-25
  • 2015-02-05
  • 1970-01-01
相关资源
最近更新 更多