MySQL:AS 别名中可以有通配符吗?
我有一堆跨多个表命名相同的字段(我继承了它 - 不要责怪我;)。
是否可以通过通配符自动分配/添加别名,而不是详细设置所有别名?
我正在设想类似的东西(当然这实际上并不起作用):
SELECT t1.*,t2.* as alias2.*, t3.* as alias3.*
所以我会得到如下返回的字段:
name, address, city, state
alias2.name, alias2.address, alias2.city, alias2.state
alias3.name, alias3.address, alias3.city, alias3.state
I have a bunch of fields named the same across multiple tables (I inherited it - don't blame me ;).
Instead of setting up all of the aliases verbosely, is it possible to assign/prepend an alias automatically by way of a wildcard?
I'm envisioning something like (which of course doesn't really work):
SELECT t1.*,t2.* as alias2.*, t3.* as alias3.*
So I would get returned fields like:
name, address, city, state
alias2.name, alias2.address, alias2.city, alias2.state
alias3.name, alias3.address, alias3.city, alias3.state
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确实如此,如果您将其用作:
定义表别名,那么您可以在 SELECT 中使用表别名.*。但如果没有唯一的列别名,获取正确的
address
/etc 字段仍然会变得很痛苦...免责声明
为了简洁起见,我只使用了 ANSI-89 语法 - 诚实。
This does, if you use it as:
Define the table alias, then you can use the table alias.* in the SELECT. But it's still going to make getting the correct
address
/etc field a pain without a unique column alias...Disclaimer
I only used ANSI-89 syntax for brevity - honest.