注册 登录
编程论坛 SQL Server论坛

二表查询

思远 发布于 2008-05-27 19:18, 1594 次点击
create table  A
(
ID  int identity primary key,
Num varchar(20),
Date  datetime,
OperatorID  int,
Status  bit
)
create table  B
(
ID int identity primary key,

OperatorName varchar(20)
)


怎么查找出A.ID,Num,Date,OperatorName,Status(--要显示中文)
--0为未发货 1为已发货
如果我用A.OperatorID=b.ID的话,只能查找出状态为1的数据
因为status=0时,operatorID是为空的

如果用select into  把状态为1的先插入一个临时表,在用insert into 把状态为0的插入到这表,不过有点烦,有没有简单的办法1?
3 回复
#2
happynight2008-05-27 21:01
"如果我用A.OperatorID=b.ID的话,只能查找出状态为1的数据 "
用右外连接解决
"因为status=0时,operatorID是为空的"
CASE status WHEN  0 THEN  '已发货'  ELSE '未发货'  END
#3
wyl9182008-09-17 12:29
select A.ID,Num,Date,OperatorName,case Status when 0 then '未发货' else '已发货' end as Status from A left Join B on OperatorID=B.ID
#4
上官逸淳2008-09-17 15:40
应该是左外连接吧?

[[it] 本帖最后由 上官逸淳 于 2008-9-17 16:26 编辑 [/it]]
1