【发布时间】:2015-05-04 14:45:51
【问题描述】:
我正在运行一些包含连接的查询。这些表很大,并且有一些名称相同的列。有没有一种方法可以创建一个查询,该查询会在表名前面加上列名?
我想要...
SELECT * FROM users u LEFT OUTER JOIN favorites f ON u.id = f.userID
让它显示一些类似...的东西
u.id | u.name | u.email ... f.id | f.name ...
不仅仅是
id | name | email ... id | name ...
我喜欢将我的查询作为关联数组处理,因为与编号索引相比,它们更易于阅读,因此当列名不唯一时,这会使事情变得具有挑战性。
【问题讨论】:
-
我已将
*替换为带有别名的列列表 -u.id u_id, f.id f_id等等。如果有人有更自动化的方法,那就太好了。 -
大多数时候,指定列被认为是最佳实践,以避免索引和绑定问题。此外,它更有效。
-
唯一的问题,我同意,大多数时候我更喜欢这样做,但这些表每个都有 50 多个字段,所以花时间把每个列名放进去可能会很乏味。
-
SELECT u.*, f.* FROM ...会发生什么?客户端语言是什么? -
同样的结果,只是列出了没有指示符的列名。不过我也有同样的想法
标签: sql postgresql