当前位置: 代码迷 >> Sql Server >> 一个多表关联查询的麻烦有关问题~多谢
  详细解决方案

一个多表关联查询的麻烦有关问题~多谢

热度:132   发布时间:2016-04-27 19:36:34.0
一个多表关联查询的麻烦问题~~谢谢
相关表:
tb_shenpi:
  表单编号(其他字段省略)
  DBD20070111001
  LLD20070111001
  BFD20070111001
......

tb_BianMa:
  ID     TabNam
DBD     tb_DiaoBoDan
LLD     tb_LianLuoDan
BFD     tb_BaoFeiDan
......

具体表:
tb_DiaoBoDan:
表单编号                   状态
DBD20070111001       已通过
......

tb_LianLuoDan
表单编号                   状态
LLD20070111001       在审
......

tb_BaoFeiDan
表单编号                   状态
BFD20070111001       未通过
......

期望结果:
表单编号                       状态
  DBD20070111001         已通过
  LLD20070111001         在审
  BFD20070111001         未通过

不只这三种会有很多种单据形式!!!!!!



------解决方案--------------------
select b.* from tb_shenpi a,tb_DiaoBoDan b
union all
select b.* from tb_shenpi a,tb_LianLuoDan b
union all
select b.* from tb_shenpi a,tb_BaoFeiDan b
------解决方案--------------------
楼上正确,不需要第二个表.
------解决方案--------------------
declare @sql varchar(8000)
set @sql= ' '

select @[email protected]+ ' select 表单编号,状态 from '+TabNam+ ' union all '
from tb_BianMa

set @sql=left(@sql,len(@sql)-len( ' union all '))
exec(@sql)
  相关解决方案