34,576
社区成员
发帖
与我相关
我的任务
分享
create table 表A
(编号 int, 字段 varchar(6), 表名 varchar(6), 说明 varchar(6), 唯一码 varchar(6))
insert into 表A
select 1, 'ccc', 'B', 'B表', 'guid1' union all
select 2, 'ddd', 'C', 'C表', 'guid2'
create table 表B(唯一码 varchar(6), 字段1 varchar(6), 字段2 varchar(6))
insert into 表B
select 'guid1', 'aaa', 'bbb'
declare @tab varchar(10),@sql varchar(2000)
select @tab=表名 from 表A where 编号=1 -- 表A的筛选条件可自定义
select @sql='select b.唯一码,a.字段,b.字段1,b.字段2 from 表'+@tab+' b inner join 表A a on a.唯一码=b.唯一码'
exec(@sql)
唯一码 字段 字段1 字段2
------ ------ ------ ------
guid1 ccc aaa bbb
(1 row(s) affected)
if object_id('a') is not null
drop table a
go
create table a
(
编号 int,
字段 varchar(10),
表名 varchar(10),
说明 varchar(10),
唯一码 varchar(10)
)
go
insert into a
select 1,'ccc','B','B表','guid1' union all
select 2,'ddd','C','C表','guid2'
go
if object_id('b') is not null
drop table b
go
create table b
(
唯一码 varchar(10),
字段1 varchar(10),
字段2 varchar(10)
)
go
insert into b
select 'guid1','aaa','bbb'
go
--使用inner join 内联接关联两个表进行查询
select b.唯一码,a.字段,b.字段1,b.字段2 from b inner join a on b.唯一码=a.唯一码
go
/*
唯一码 字段 字段1 字段2
---------- ---------- ---------- ----------
guid1 ccc aaa bbb
(1 行受影响)
*/
create table 表A
(编号 int, 字段 varchar(6), 表名 varchar(6), 说明 varchar(6), 唯一码 varchar(6))
insert into 表A
select 1, 'ccc', 'B', 'B表', 'guid1' union all
select 2, 'ddd', 'C', 'C表', 'guid2'
create table 表B(唯一码 varchar(6), 字段1 varchar(6), 字段2 varchar(6))
insert into 表B
select 'guid1', 'aaa', 'bbb'
select b.唯一码,a.字段,b.字段1,b.字段2
from 表B b
inner join 表A a
on a.唯一码=b.唯一码 and a.表名='B'
唯一码 字段 字段1 字段2
------ ------ ------ ------
guid1 ccc aaa bbb
(1 row(s) affected)