SQL视图嵌套视图很容易出错

我的历史库是另一个数据库,历史查询时使用

select * from V_B20CPCH

union

select * from [ZMIS].dbo.V_B20CPCH

但这会出错,结果让字段错位

后来就不用视图嵌套视图了,改为直接写

SELECT T1.ID, T1.DH, T1.RQ, T1.SJ, T1.SWYY, T1.S30BH, T1.S30MC, T1.S30QC, T1.SHDZ,
      T1.SHSJ, T1.CH, T1.CX, T1.RY1, T1.SHRY1, T1.SHRY2, T1.HJSL, T1.HJMJ, T1.HJMJ1,
      T1.YF, T1.HJJE, T1.KCLX, T1.BZ, T1.GZ, T1.GB, T1.GZ2, T2.ID AS T2ID, T2.GDH,
      T2.DDH, T2.KHPO, T2.XH, T2.S20BH, T2.S20MC, T2.S40BH, T2.XX, T2.FS, T2.MS,
      T2.S10BH, T2.ZXL, T2.ZXW, T2.ZXH, T2.ZXGGBZ, T2.YC, T2.ZXL1, T2.ZXW1,
      T2.ZXH1, T2.PZLX, T2.KW, T2.HB, T2.HBMC, T2.SJPH, T2.WS, T2.DDSL, T2.SL,
      T2.DXMJ, T2.ZMJ, T2.ZMJ1, T2.MJGS, T2.MJ, T2.CZDJ, T2.SL1, T2.DJ, T2.DJ1, T2.JE,
      T2.BZ AS T2BZ, T2.DDL, T2.CS, T2.SHD
FROM dbo.B20CPCK T1 LEFT OUTER JOIN
      dbo.B21CPCK T2 ON T1.DH = T2.DH
UNION
SELECT T1.ID, T1.DH, T1.RQ, T1.SJ, T1.SWYY, T1.S30BH, T1.S30MC, T1.S30QC, T1.SHDZ,
      T1.SHSJ, T1.CH, T1.CX, T1.RY1, T1.SHRY1, T1.SHRY2, T1.HJSL, T1.HJMJ, T1.HJMJ1,
      T1.YF, T1.HJJE, T1.KCLX, T1.BZ, T1.GZ, T1.GB, T1.GZ2, T2.ID AS T2ID, T2.GDH,
      T2.DDH, T2.KHPO, T2.XH, T2.S20BH, T2.S20MC, T2.S40BH, T2.XX, T2.FS, T2.MS,
      T2.S10BH, T2.ZXL, T2.ZXW, T2.ZXH, T2.ZXGGBZ, T2.YC, T2.ZXL1, T2.ZXW1,
      T2.ZXH1, T2.PZLX, T2.KW, T2.HB, T2.HBMC, T2.SJPH, T2.WS, T2.DDSL, T2.SL,
      T2.DXMJ, T2.ZMJ, T2.ZMJ1, T2.MJGS, T2.MJ, T2.CZDJ, T2.SL1, T2.DJ, T2.DJ1, T2.JE,
      T2.BZ AS T2BZ, T2.DDL, T2.CS, T2.SHD
FROM [ZTYMIS3].dbo.B20CPCK T1 LEFT OUTER JOIN
      [ZTYMIS3].dbo.B21CPCK T2 ON T1.DH = T2.DH

原文地址:https://www.cnblogs.com/yzx99/p/74033.html