+-

我正在分析一个相当可怕的遗留数据库/代码库,尝试通过将查询组合到连接中来减少服务器负载(包括通常调用超过一百万个单独查询的电子邮件警报cron作业).
SELECT * FROM
class_alerts_holding ah
INNER JOIN class_listings l ON l.id = ah.lid
INNER JOIN class_users u ON u.id = ah.uid
LEFT JOIN class_prodimages pi ON pi.pid = ah.lid
吐出120列……
aid | id | lid | uid | oid | catName | searchtext | alertfreq | listType | id | owner | title | section | shortDescription | description | featured | price | display | hitcount | dateadded | expiration | url | notified | searchcount | repliedcount | pBold | pHighlighted | notes | ...
为了帮助我分析如何构造新的查询,如果我可以在结果中的列前面添加它们来自JOIN的表格,那将是非常棒的.
class_alerts_holding.aid | class_alerts_holding.id | class_listings.lid | ...
有没有办法实现这个目标?
最佳答案
你可以
select ah.*, l.*, u.*, pi.* from ...
那么列将至少按表的顺序返回.
为了更好地区分每两组列,您还可以添加“delimiter”列,如下所示:
select ah.*, ':', l.*, ':', u.*, ':', pi.* from ...
(编辑为删除显式别名,请参阅注释.)
点击查看更多相关文章
转载注明原文:mysql – 在连接中,如何使用它来自的表为所有列名添加前缀 - 乐贴网