我想从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,但如果它们存在,欢迎使用通用解决方案!
编辑:我知道我可以为每个字段添加别名,如其中一条评论中所述。这就是我目前正在做的事情,但我发现在一个项目开始时,我不得不同步我的表和视图,因为它们会发生变化。我喜欢这些视图,从每个表中包含所有内容,然后我手动选择我需要的内容。一种懒惰的方法,但这将允许我更快地迭代,并且只在需要时进行优化。
答案 0 :(得分:1)
我发现在项目开始时,我不得不在我们的表和视图发生变化时同步它们。
由于您尝试做的事情并不是标准SQL真正支持的,并且您继续在开发中修改数据库结构,我想知道您最好的方法是编写一个重新创建{{1你的陈述。也许用您选择的开发语言将它包装在方法调用中?
基本上,您需要查询SELECT
感兴趣的表和列,可能是通过连接,并以SQL样式写出结果。
然后每次进行对您来说重要的数据库结构更改时运行脚本,并观察您的代码神奇地跟上。