-2

我想我在这里有点不知所措-非常感谢任何帮助!:)

我在两个 mysql 数据库中有两个表:

Database A.Table A
id (int)
name (varchar)

Database B.Table B
id (int)
name (varchar)
foreign key1 (int)
foreign key2 (int)

我想做一个像 SELECT * FROM 这样的 MySQL 查询,这样即使以后添加了一些额外的列,结果仍然是正确的。但是,我希望将表 B 中的外键替换为表 A 中相应的 varchar 名称。两个外键都指向同一个表,但可能不同,因为它们代表一个人在哪里,他属于哪里。

我试过这个:

SELECT * FROM tblA RIGHT JOIN tblB ON tblA.id = tblB.foreignkey1

但它在结果集中添加了另一列,这不是我想要实现的。

当像这样查询 tbl.B SELECT * FROM tbl.B (添加我在这里寻找的魔法)时,最终结果应该是这样的:

*--------*----------*--------------------------*---------------------------*
|tblB.id | tblB.name| foreign value1 from tbl.A | foreign value2 from tbl.A|
*--------*----------*--------------------------*---------------------------*
4

1 回答 1

1

你可以这样做:

SELECT tblB.id, tblB.name, tblA.* -- all fields in tblA
FROM tblA RIGHT JOIN tblB ON tblA.id = tblB.foreignkey1

......但这几乎是我能想到的。不幸的是,您必须使用SELECT *SELECT [each and every column],别无选择。

于 2013-04-16T15:31:15.890 回答