大家看看这条SQL语句哪儿有错

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:12:10
select cl.voy_id_ as
voyId,vn.route_id_ as routeId,vn.vessel_id_ as vesselId,vn.code_ as
code,vn.course_code_ as courseCode,vr.name_ as
routeName,vr.customs_id_ as customsId,dc.name_ as
companyName,vsp1.cur_port_id_ as shippingPort,vsp2.cur_port_id_ as
unloadingPort
from
export_yw_collect cl,vsl_voy_num
vn,vsl_route vr,vsl_vessel
vv,dm_company
dc,vsl_route_ports as vrp1,vsl_route_ports as
vrp2,vsl_port as vp1,vsl_port as vp2
where cl.voy_id_=vn.id_ and
vn.route_id_=vr.id_ and vn.vessel_id_=vv.id_ and
vv.customs_id_=dc.customs_id_ and vn.route_id_=vrp1.route_id_
and vn.route_id_=vrp2.route_id_
and vp1.id_=vsp1.cur_port_id_ and
vp2.id_=vsp2.cur_port_id_ and
vsp1.cur_port_id_ in (select cur_port_id_
from vsl_route_ports where
order_=max(order_)) and vsp2.cur_port_id_ in
(select cur_port_id_ from
vsl_route_ports where order_=min(order_));

这段SQL太复杂,目前发现的错误是
....
from
export_yw_collect cl,vsl_voy_num
vn,vsl_route vr,vsl_vessel
vv,dm_company
dc
....
少了不少as,应为:
from
export_yw_collect as cl,
vsl_voy_num as vn,
vsl_route as vr,
vsl_vessel as vv,
dm_company as dc

其它是否还有错误,目前不清楚

select cur_port_id_
from vsl_route_ports where
order_=max(order_)
改为
select top 1 cur_port_id_
from vsl_route_ports order by order_ desc
--
select cur_port_id_ from
vsl_route_ports where order_=min(order_)
改为
select top 1 cur_port_id_
from vsl_route_ports order by order_
你用的什么数据库?oracle mysql写法不一样

select cl.voy_id_ as voyId,
vn.route_id_ as routeId,
vn.vessel_id_ as vesselId,
vn.code_ as code,
vn.course_code_ as courseCode,
vr.name_ as routeName,
vr.customs_id_ as customsId,
dc.name_ as companyName,
vsp1.cur_port_id_ as shippingPort,