高分求这个存储过程

xiaoke26 2004-05-13 01:01:40
如下:
有两个关于用户的表,一个表中有用户名,密码,用户身份(UserID,pwd,status)其中身份用来表明用户的特权级别,如管理员,普通用户

而另一表则对应除管理员外其他用户的其他具体信息(status!=管理员),如其对应的项目等,有如UserId,projectId等字段

实现:
通过根据用户ID,即userId来设计一个存储过程,来返回用户的信息,但要使普通用户和管理员返回的字段数相同,如如果是普通用户,则会返回UserId,status,projectId等,但如果是管理员他本身没有porjectId字段,要使返回的结果字段和普通用户返回的相同,该怎么样实现??
...全文
49 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoK 2004-05-13
  • 打赏
  • 举报
回复
--假设
TableA(UserID,pwd,status)
TableB(UserId,projectId)

--则
CREATE PROCEDURE spGetUserInfo
(
@UserID INT
)
AS
SET NOCOUNT ON

SELECT A.UserID, A.pwd, A.status, ISNULL(B.projectId, 0) AS projectId
FROM TableA A
LEFT JOIN TableB B ON B.UserID = A.UserID
WHERE A.UserID = @UserID

SET NOCOUNT OFF
GO

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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