首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一条SQL语句,查询有关问题

2012-01-26 
求一条SQL语句,查询问题表A,NAMEIDA1B2C3D4表BIDDEP1经理2顾问要得到的结果NAMEIDDEPA1经理B2顾问C3D4[解

求一条SQL语句,查询问题
表A,
NAME           ID
A                   1
B                   2
C                   3
D                   4
表B
ID           DEP
1             经理
2             顾问
要得到的结果
NAME       ID     DEP
A             1       经理
B             2       顾问
C             3
D             4

[解决办法]
select a.name,a.id,(case dep when null then ' ' end ) dep from 表A a left join 表b b on a.id=b.id
[解决办法]
左外连接:
select A.NAME,A.ID,B.DEP
from A left join B on A.ID=B.id
[解决办法]
--用left join

select a.NAME,a.ID,b.DEP
from 表A a
left join 表B b on a.ID=b.ID

[解决办法]
楼上和楼楼上正解
[解决办法]
select a.NAME,a.ID,b.DEP from 表A a,表B b where a.ID *=b.ID

[解决办法]
select 表A.* , isnull(表B.DEP, ' ') from 表A
left join
表B on 表A.ID = 表B.id
[解决办法]
if object_id( 'pubs..表A ') is not null
drop table 表A
go

create table 表A
(
NAME varchar(10),
ID varchar(10)
)

insert into 表A(NAME,ID) values( 'A ', '1 ')
insert into 表A(NAME,ID) values( 'B ', '2 ')
insert into 表A(NAME,ID) values( 'C ', '3 ')
insert into 表A(NAME,ID) values( 'D ', '4 ')

if object_id( 'pubs..表B ') is not null
drop table 表B
go

create table 表B
(
ID varchar(10),
DEP varchar(10)
)
insert into 表B(ID,DEP) values( '1 ', '经理 ')
insert into 表B(ID,DEP) values( '2 ', '顾问 ')

select 表A.* , isnull(表B.DEP, ' ') as DEP from 表A
left join 表B on 表A.ID = 表B.ID

drop table 表A,表B

NAME ID DEP
---------- ---------- ----------
A 1 经理
B 2 顾问
C 3
D 4

(所影响的行数为 4 行)

热点排行