【问题标题】:Using SQL table join to use a value from one table as a reference to a value in another (primary key) [closed]使用 SQL 表连接将一个表中的值用作对另一个表中值的引用(主键)[关闭]
【发布时间】:2026-02-03 09:55:01
【问题描述】:

我在 phpmyadmin 上存储了两个表,“gigs”和“bands”。
演出:“演出 ID、演出乐队、演出日期”
乐队:“乐队ID,乐队名称,乐队流派......”

gigBand 是一个与bandID 对应的整数。我的目标是显示所有可用的演出,但显示实际的乐队名称而不是数字。我已经阅读了表连接是最简单的方法,并且我可以轻松地在网页上显示“演出”的数据。 但事实证明,设法显示名称而不是价值是非常困难的。

任何建议,甚至是代码示例都将不胜感激。

【问题讨论】:

  • 哦,来吧。请多做一些研究工作。 :-)
  • 我们能看看你现在有什么吗?老实说,我认为给你解决方案没有帮助。请编辑对您的问题的任何改进,而不是将它们添加为 cmets。
  • 关于列命名的一些建议:使用蛇形大小写 (gig_id) 而不是骆驼形大小写 (gigID),因为它可以在以后省去您的麻烦(特别是在您的数据库使用区分大小写的实体名称)。外键通常称为table_id,因此gigBand 通常最好称为band_id

标签: php mysql sql join


【解决方案1】:

你需要使用一个 MySQL JOIN 来拉取两个相关表的记录。

http://dev.mysql.com/doc/refman/5.7/en/join.html

SELECT * from gigs
INNER JOIN bands ON gigBand = bandID

虽然这是非常基本的东西,所以我强烈建议您花时间做更多的研究。这似乎是一个不错的起点:

http://www.tutorialspoint.com/mysql/index.htm

【讨论】:

  • 我认为这类问题不应该回答,至少不应该以现在的形式回答。该问题未经研究以至于偏离主题,并且在不鼓励任何事先努力的情况下给出答案将鼓励更多相同质量的问题并且无法教会OP如何独立思考。投反对票,深表歉意。
  • 每个人都有不同的技能水平和方法。这个问题是基本的,但不是很糟糕。最重要的是已经尝试解决这个问题。我宁愿通过提供简洁的答案并引导他们走上更具建设性的学习路径来指导某人,而不是说“当我认为你提出更好的问题时走开然后回来”
  • 谢谢 - 我同意表达的观点。我的小问题是,问题中甚至没有 SELECT 的开头,这本来是我的(非常低的)最低标准。
最近更新 更多