SQL语法判断问题

curd0468 2007-04-01 10:47:50
有两个表T_Customer和T_Storage,我现在想读取T_Customer里的数值,T_Customer里的T_StorageId是对应T_Storage里的id,我想在读T_Customer表的时候自动把T_StorageId换成T_Storage表里对应的仓库名,于是写以如下存储过程.

ALTER PROCEDURE T_SelCustomer
AS
SELECT T_Customer.T_UserName as [用户名],T_Customer.T_UserPassword as [用户密码],T_Storage.T_StorageName as [隶属仓库]
FROM T_Storage
INNER JOIN
T_Customer
ON
T_Customer.T_StorageId = T_Storage.id

以上存储过程在正常情况下使用完全没有问题,但是如果T_Customer.T_StorageId所对应的T_Storage.id不存在的话,就无法读取到这一条目了.我现在想把所有T_Customer里的条目都读到,如果没有对应用T_Storage.id,就将本行的T_Storage.T_StorageName换成"空仓库"的字样,请问这样一个条件判断我该怎么写呢?
...全文
201 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dazhu2 2007-04-01
  • 打赏
  • 举报
回复
是呀,用left join呀,
51Crack 2007-04-01
  • 打赏
  • 举报
回复
楼上的应该没问题!
主要用left join
leohuang 2007-04-01
  • 打赏
  • 举报
回复
try
------------------------------
SELECT
a.T_UserName as [用户名],
a.T_UserPassword as [用户密码],
isNull(b.T_StorageName,'空仓库') as [隶属仓库]
FROM T_Customer a
left JOIN T_Storage b ON a.T_StorageId = b.id
webwalker 2007-04-01
  • 打赏
  • 举报
回复
case .. when
else ..

if..
..
else

just refer to T-SQL help document from MS

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧