2013-08-26 78 views
0

我有一个SQL查询像这样的:MYSQL选择表和列名

SELECT T1.id, T2.user 
FROM T1 
INNER JOIN T2 ON T1.user_id = T2.id 

的结果是一样的东西id | user

我想知道是否有一种方法可以在不改变查询的情况下(例如使用concat)在列名之前获得与表名相同的结果(类似T1.id | T2.user)?

谢谢!

编辑:所以我找到了我的问题的答案。我使用PHP函数mysqli_result::fetch_field_direct,它允许我为每个字段获取元数据。

谢谢你们所有的答案!

+0

我认为,只要你在php代码中写入命令ex,它就不会返回SQL返回值。 '$ id = $ row ['id']; $ name = $ row ['user_id'];'或者如果OBJ Oriented:'$ name = $ obj-> id; $ id = $ obj-> user_id;' – JohnnyJS

+0

你用什么语言写? – JohnnyJS

回答

1

你知道你正在使用的表,那么你就可以在查询中添加自己的名字:

SELECT 
    CONCAT('T1.', T1.id) as id, 
    CONCAT('T2.', T2.user) as user, 
FROM T1 
INNER JOIN T2 ON T1.user_id = T2.id 
0

据我理解你的问题,你需要使用一个别名:

Select t1.id as UserID, t2.user as Username 
From t1 inner join t2 on t1.user_id = t2.id