MySql - 从2个表中选择*,但是在结果集中是否有前缀表名?

时间:2013-11-05 19:20:10

标签: mysql sql

我想从2个表中选择*,但每个表的列名都以字符串作为前缀,以避免重复的列名称冲突。

例如,我希望有这样的观点:

CREATE VIEW view_user_info as (
  SELECT   
    u.*,
    ux.*
  FROM
    user u,
    user_ex ux
);

其中结果的每一列都以表格的前缀为前缀:

e.g。

user_ID
user_EMAIL
user_ex_ID
user_ex_TITLE
user_ex_SIN

我已经提出了一个具有这个概念的sql fiddle here,但当然没有正确的语法(如果它甚至可能的话)。

我使用MySql,但如果它们存在,欢迎使用通用解决方案!

编辑:我知道我可以为每个字段添加别名,如其中一条评论中所述。这就是我目前正在做的事情,但我发现在一个项目开始时,我不得不同步我的表和视图,因为它们会发生变化。我喜欢这些视图,从每个表中包含所有内容,然后我手动选择我需要的内容。一种懒惰的方法,但这将允许我更快地迭代,并且只在需要时进行优化。

1 个答案:

答案 0 :(得分:1)

  

我发现在项目开始时,我不得不在我们的表和视图发生变化时同步它们。

由于您尝试做的事情并不是标准SQL真正支持的,并且您继续在开发中修改数据库结构,我想知道您最好的方法是编写一个重新创建{{1你的陈述。也许用您选择的开发语言将它包装在方法调用中?

基本上,您需要查询SELECT感兴趣的表和列,可能是通过连接,并以SQL样式写出结果。

然后每次进行对您来说重要的数据库结构更改时运行脚本,并观察您的代码神奇地跟上。