我想知道这在SQL中是否可行.假设您有两个表A和B,并在表A上执行选择并在表B上进行连接:
SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)
如果表A包含列'a_id','name'和'some_id',而表B包含'b_id','name'和'some_id',则查询将返回列'a_id','name','some_id ','b_id','name','some_id'.有没有办法为表B的列名添加前缀而不单独列出每一列?相当于:
SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)
但是,如上所述,没有列出每一列,所以类似于:
SELECT a.*, b.* as 'b.*'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)
基本上可以说,"b.*返回的每一列都带有'某事'".这可能还是我运气不好?
在此先感谢您的帮助!
编辑:不使用SELECT*等建议是有效的建议,但在我的上下文中不相关,所以请坚持手头的问题 - 是否可以添加前缀(SQL查询中指定的常量)给所有连接中表的列名?
编辑:我的最终目标是能够在两个带连接的表上执行SELECT*,并且能够从我在结果集中获得的列的名称中说明哪些列来自表A以及哪些列来自哪些列从表B.再次,我不想单独列出列,我需要能够做一个SELECT*.