背景:在进行联表查询时,出现了Every derived table must have its own alias的错误。
错误代码:
SELECT t1.id FROM zhfw_service_reply t1
JOIN(
SELECT id FROM zhfw_service_theme t3 WHERE
updated_time < #{time}
AND section_code = 'service'
) on t3.id = t1.theme_id
原因:一时疏忽,漏了表的别名。查询产生新的表每一个派生出来的表都必须有一个自己的别名。即JOIN的结果需要一个新的名字。改为如下:
SELECT t1.id FROM zhfw_service_reply t1
JOIN(
SELECT id FROM zhfw_service_theme WHERE
updated_time < #{time}
AND section_code = 'service'
)t3 on t3.id = t1.theme_id
注意t3的位置。

博客讲述了联表查询时出现 'Every derived table must have its own alias' 错误的情况。原因是疏忽漏了表的别名,查询产生的每个派生表都需有自己的别名,JOIN结果要有新名字,并提醒注意t3的位置。
3876

被折叠的 条评论
为什么被折叠?



