Php 拉入关系数据库字段
这就是我的问题。我有三张桌子: 人员表Php 拉入关系数据库字段,php,mysql,relational,Php,Mysql,Relational,这就是我的问题。我有三张桌子: 人员表 person\u id,name 事件表 事件id、事件名称、事件日期 火柴桌 match\u id,person\u a,person\u b,winner,event 所以在matches表中,person_a、person_b和winner是对应于person表中person_id的整数 如果我从Matches表中抽出一行,结果如下: 1,1,2,1,国际象棋锦标赛#33 如何使用person表查找这3个字段(person_a、person_b和wi
person\u id,name
事件表
事件id、事件名称、事件日期
火柴桌
match\u id,person\u a,person\u b,winner,event
所以在matches表中,person_a、person_b和winner是对应于person表中person_id的整数
如果我从Matches表中抽出一行,结果如下:
1,1,2,1,国际象棋锦标赛#33
如何使用person表查找这3个字段(person_a、person_b和winner),以输入它们的实际姓名,从而得到正确的结果
1,约翰,史蒂文,约翰,国际象棋锦标赛#33
我考虑加入两个表,但这没有意义,因为我不能只对id=id或WHERE id=id进行操作。我感谢任何帮助。数据库模式中的外键会很有帮助。我可以使person\u a、person\b和winner字段具有person\u id的外键,但它们仍然会以1、2、3等形式插入。哎呀,我的错。我错过了那部分。在手机上阅读会让人有点困惑哈哈。数据库模式中的外键会很有帮助。我可以使person_a、person_b和winner字段具有person_id的外键,但它们仍然会以1、2、3等形式输入。哎呀,我的错。我错过了那部分。在电话上读这么多会让人有点困惑,哈哈。酷豆,效果完美无瑕。不过看起来工作太多了。哈哈。你可能会认为会有一个更简单的方法,因为字段是关系型的。酷豆,工作完美无瑕。不过看起来工作太多了。哈哈。你可能会认为有一种更简单的方法,因为字段是关系型的。
SELECT
Matches.match_id AS match_id,
PersA.name AS persa_name,
PersB.name AS persb_name,
IF(winner=person_a,PersA.name,PersB.name) AS winner_name,
Events.event_name AS event_name
FROM
Matches
INNER JOIN Person AS PersA ON Matches.person_a=PersA.person_id
INNER JOIN Person AS PersB ON Matches.person_b=PersB.person_id
INNER JOIN Events ON Matches.event=Events.event_id
WHERE
-- whatever