select IN_ORDER_CODE,BUDDY_NAME,plan_emp,h.MODIFY_TIME,
CAR_NUMBER,BOX_SIZE,PLAN_WORKLOAD,PLAN_PIECENUM,
pos_name as plan_allocation_name,
stock_name as stockName,
buddy_name as scraper_name
from IMS_STOCK_TEAM_INFO stock,IMS_COLD_STORAGE_HEAD h
left join 
ims_stock_pos_info as sp,
vi_ims_stock_info as v,
dms_buddy_info as dbiscraper
on
sp.pk_id = stock.PLAN_ALLOCATION,
v.pk_id = h.RECEIVE_WARE_HOUSE,
dbiscraper.pk_id = stock.scraper
WHERE stock.comp_pkid='tieyue' AND stock.head_pkid='c7de39a4-51d4-4c61-811e-00aa877cf602'

解决方案 »

  1.   

    是我写sql的格式出问题了??
      

  2.   

      left join ims_stock_pos_info as sp, vi_ims_stock_info as v, dms_buddy_info as dbiscraper
        on sp.pk_id = stock.PLAN_ALLOCATION, v.pk_id = h.RECEIVE_WARE_HOUSE,
    每个 left join 要分开写select * from a 
    left join b on a.id = b.id 
    left join c on a.id = c.id 
      

  3.   

    一个join只能添加一张表。
      

  4.   

    oracle数据库的多表连接查询和Mysql有区别, Oracle连接每一张表都需要必须要left join,而MySql多张表 一个left join 后表间用逗号隔开。
      

  5.   

    楼上说的很对了,需要多表关联查询,用到join的,必须一张一张的join,比如A,B,C三张表,都用ID字段来做左连接关联,必须是A LEFT JOIN B ON A.ID=B.ID LEFT JOIN C ON A.ID=C.ID