带有连接的MySQL查询和没有表名的别名

时间:2012-07-25 06:59:56

标签: mysql select alias

我遇到了一个有趣的问题:

我有两个表t1和t2有几列。因为两个表中的两列具有相同的名称,所以我需要这样:

SELECT t1.foo AS ID, t2.bar as NAME
FROM t1, t2
WHERE t1.foo = t2.foo;

答案以t1.ID,t2.NAME

为首

我不会在标题中使用表名。

有趣的是:在视图中使用相同的查询会返回正确/想要的标题:ID ... NAME

我想在已观察到相同行为的存储过程中使用这些查询。

尝试使用MySQL 5.5.9

知道如何避免标题中的表名?

2 个答案:

答案 0 :(得分:0)

SELECT ID, NAME
FROM (SELECT t1.foo AS ID, t2.bar as NAME
FROM t1, t2
WHERE t1.foo = t2.foo) AS t;

答案 1 :(得分:0)

您可以使用简单的字符串或int函数从字段中删除链接的表名:

SELECT (t1.foo+0) AS ID, CONCAT(t2.bar) as NAME
FROM t1, t2
WHERE t1.foo = t2.foo;