SQL左外连接连接多个表

遇到问题说是要多个表生成一个VIEW, 那么应该用到连接,查了一个关于多个表连接的方法.如下:

CREATE VIEW VITEM AS ITEM.ID,CARGO.ID,CHARGE.ID,CUSTOMER.ID,ITEMUSERS.ITEMID

 FROM ITEM
     LEFT JOIN  CARGO
        ON ITEM.ID=CARGO.ID
      LEFT JOIN CHARGE
         ON ITEM.ID=CHARGE.ID
      LEFT JOIN CUSTOMER
         ON ITEM.ID=CUSTOMER.ID
      LEFT JOIN ITEMUSERS
         ON ITEM.ID=ITEMUSERS.ITEMID
 

这里只是测试了一个,可以了,然后就开始用视图,但是用视图不能有重的字段名,所以有些重复字段可以用 as ' XXXX ' 的方式从新命名,如:

CREATE VIEW VITEM AS
 SELECT ITEM.ID,CARGO.ID AS 'CARGO.ID'

  FROM ITEM
     LEFT JOIN  CARGO
        ON ITEM.ID=CARGO.ID
      LEFT JOIN CHARGE
         ON ITEM.ID=CHARGE.ID

最后应用的代码相当麻烦,也不知道这样会对数据库有多大的负担.呵呵.

CREATE VIEW VITEM AS
 select item.id,item.gid,item.pnum,item.partnerid,item.stime,item.splace,item.rtime,item.rplace,item.cplace,item.ctime,item.pretime,item.type,item.transtype,item.tcost,item.state,item.signer,item.getterid,item.senderid,item.memo,item.sunitid,item.runitid,item.cunitid,item.getplace,item.getphone,item.balancetype,item.receiver,item.gettype,item.typetime,

cargo.name,cargo.packagetype,cargo.amount,cargo.weight,cargo.volume,cargo.price,cargo.nametype,'cargo.memo' AS 'cargo.memo',cargo.state as 'cargo.state',cargo.chargetype,

charge.time,charge.jfzl,charge.ysf,charge.dff,charge.czf,charge.psf,charge.zyf,charge.bzf,charge.bxf,charge.snyf,charge.dshkf,charge.qtfy,charge.memo as 'charge.memo',charge.isPaid,charge.gettype as 'charge.gettype',charge.zhongpsf,

customer.sname,customer.scompany,customer.sphone,customer.saddress,customer.sfax,customer.szipcode,customer.sstate,customer.memo as 'customer.memo',customer.rcertificate,customer.rname,customer.rcompany,customer.rphone,customer.raddress,customer.rfax,customer.rzipcode,

itemusers.typeuserid,itemusers.checkuserid,itemusers.zhonguserid,itemusers.finaluserid

  FROM ITEM
     LEFT JOIN  CARGO
        ON ITEM.ID=CARGO.ID
      LEFT JOIN CHARGE
         ON ITEM.ID=CHARGE.ID
      LEFT JOIN CUSTOMER
         ON ITEM.ID=CUSTOMER.ID
      LEFT JOIN ITEMUSERS
         ON ITEM.ID=ITEMUSERS.ITEMID
 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值