我有一个名为 Games 的 sql 表,如下所示:
CREATE TABLE Games
(date date NOT NULL,
ho_t_id varchar(9) NOT NULL,
v_t_id varchar(9) NOT NULL,
h_score int,
v_score int,
PRIMARY KEY(date, ho_t_id, v_t_id),
FOREIGN KEY(ho_t_id) REFERENCES Team ON UPDATE CASCADE,
FOREIGN KEY(v_t_id) REFERENCES Team);
如您所见,它有两个指向名为 Team 的表的外键。 ho_t_id 和 v_t_id 引用 Team 表的主键 t_id。
我想显示 Games 表 (*) 的所有列,但将 ho_t_id 替换为 Team 表中存在的团队名称。 (团队表包含一个名为“名称”的列)。
我怎样才能做到这一点?
最佳答案
SELECT G.*, T1.NAME as T1_NAME, T2.NAME AS T2_NAME
FROM GAMES G
INNER JOIN TEAM T1 ON T1.T_ID=G.HO_T_ID
INNER JOIN TEAM T2 ON T2.T_ID=G.V_T_ID
关于mysql - SQL 获取特定列而不仅仅是外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26882836/