34,590
社区成员
发帖
与我相关
我的任务
分享
create table A(ID int, zd1 int)
insert into A values(1, 56)
insert into A values(2, 43)
insert into A values(3, 65)
insert into A values(4, 23)
insert into A values(5, 67)
create table B(AID int, zd2 int)
insert into B values(3, 78)
insert into B values(4, 33)
create table C(AID int, zd3 int)
insert into C values(2, 90 )
insert into C values(3, 87 )
insert into C values(5, 67 )
go
select ID, zd1=isnull(rtrim(zd1), ''), zd2=isnull(rtrim(zd2), ''), zd3=isnull(rtrim(zd3), '')
from A left join B on A.ID=B.AID
left join C on A.ID=C.AID
where ID<=4
drop table a,b,c
/*
ID zd1 zd2 zd3
----------- ------------ ------------ ------------
1 56
2 43 90
3 65 78 87
4 23 33
(4 row(s) affected)
*/
select ID, zd1, zd2, zd3
from A left join B on A.ID=B.AID
left join C on A.ID=C.AID
where ID<=4
create table A(ID int, zd1 int)
insert into A values(1, 56)
insert into A values(2, 43)
insert into A values(3, 65)
insert into A values(4, 23)
insert into A values(5, 67)
create table B(AID int, zd2 int)
insert into B values(3, 78)
insert into B values(4, 33)
create table C(AID int, zd3 int)
insert into C values(2, 90 )
insert into C values(3, 87 )
insert into C values(5, 67 )
go
select A.* , isnull(cast(B.zd2 as varchar),'') zd2 , isnull(cast(C.zd3 as varchar),'') zd3 from A left join B on A.id = B.aid left join C on A.id = C.aid where a.id <= 4
drop table A,B,C
/*
ID zd1 zd2 zd3
----------- ----------- ------------------------------ ------------------------------
1 56
2 43 90
3 65 78 87
4 23 33
(4 行受影响)
*/
select ID,zd1,
zd2 = isnull(select zd2 from tableb where a.id = aid),''),
zd3 = isnull(select zd3 from tablec where a.id = aid),'')
from tablea a
where id <=4
select ID,zd1,
zd2 = isnull(select zd2 from tableb where a.id = aid),''),
zd3 = isnull(select zd3 from tablec where a.id = aid),'')
from tablea a
create table A(ID int, zd1 int)
insert into A values(1, 56)
insert into A values(2, 43)
insert into A values(3, 65)
insert into A values(4, 23)
insert into A values(5, 67)
create table B(AID int, zd2 int)
insert into B values(3, 78)
insert into B values(4, 33)
create table C(AID int, zd3 int)
insert into C values(2, 90 )
insert into C values(3, 87 )
insert into C values(5, 67 )
go
select A.* , B.zd2 , C.zd3 from A left join B on A.id = B.aid left join C on A.id = C.aid where a.id <= 4
drop table A,B,C
/*
ID zd1 zd2 zd3
----------- ----------- ----------- -----------
1 56 NULL NULL
2 43 NULL 90
3 65 78 87
4 23 33 NULL
(4 行受影响)
*/
select A.ID,
A.Zd1,
(select Zd2 from B where A.iD=Aid) as Zd2,
(select Zd3 from c where A.iD=Aid) as Zd3
from A
where ID<=4