【发布时间】:2012-04-14 18:28:24
【问题描述】:
我已经关注 MYsql 查询并尝试右外连接,但无法理解如何执行此操作
这里是查询请任何一个帮助
select lp_des.lpname,today.cnt_veh_tdy,todate.cnt_veh_tdate
from
(select distinct registration.lpcode,loadingpoint.lpname
from registration,loadingpoint
where registration.lpcode=loadingpoint.lpcode) lp_des,
(select lpcode,count(vehicleno) cnt_veh_tdate
from registration
where registration.companycode='01'
group by lpcode) todate,
(
select lpcode,count(vehicleno) cnt_veh_tdy
from registration
where registration.companycode='01'
and registration.date=(select max(date) from registration)
group by lpcode) today
right outer join today on lp_des.lpcode = today.lpcode
right outer join todate on lp_des.lpcode = todate.lpcode
我想在这部分做右外连接
where lp_des.lpcode=todate.lpcode
and lp_des.lpcode=today.lpcode
请帮助并提前致谢
【问题讨论】:
-
必须是
right outer join吗?也许你应该描述你想要的结果,而不是只发布你认为你需要的解决方案。 -
另外,全世界都在使用
left join(=left outer join)。 A 和 B 上的每个右连接都可以重写为左连接 B 和 A,这使其更具可读性。尤其是在一个查询中混合使用右连接和左连接会增加阅读、测试和修改的难度。 -
我已经在上面的查询中进行了右外连接,现在请检查查询中可能出现的语法错误
-
在这里发布整段代码真的比在
right join上查看手册更容易吗? -
我也在使用查询和子查询,所以我显示了我的整个查询,所以很容易理解我仍然没有得到我的答案请将我的查询更改为实际的外部联接
标签: mysql outer-join