求一存储过程,在线等

ye0804 2007-05-30 09:36:10
现有基础数据表main(equno,equname,...),部门表dept(No,name), 移动表move(equno,beforeno,afterno...)
其中main表和move表通过equno关联,move表和dept表通过部门编号No实现,
说明:beforeno是移动前的部门编号,afterno是移动后的部门编号.
现要求实现:
按部门编号No可搜索该部门所有equno的信息.显示字段包括以上列举的,见下:
equno,equname,移动前部门名称,移动后部门名称(根据beforeno,afterno得到)???
...全文
266 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjlxm1 2007-06-04
  • 打赏
  • 举报
回复
帮顶
ye0804 2007-05-30
  • 打赏
  • 举报
回复
多谢,问题解决.
马上就贴.
ye0804 2007-05-30
  • 打赏
  • 举报
回复
多谢,
可能是我没有说清楚.
要显示的数据:
equno,equname,移动前部门名称,移动后部门名称(根据beforeno,afterno得到)???
其中移动前部门名称就是beforeno在部门表dept中对应的name值.
在main和move表中存放的是部门编号,但用户界面上要求显示在dept中真正的部门名称值.

Andy-W 2007-05-30
  • 打赏
  • 举报
回复
存储过程:
CREATE PROCEDURE USP_Name
@equno nvarchar(20) --要输入的部门
AS

SELECT A.equno,B.equname,C1.[name] AS [移动前部门名称],C2.[name] AS [移动后部门名称]
FROM move AS A
INNER JOIN main AS B ON B.equno=A.equno
INNER JOIN [move] AS C1 ON C1.[No]=A.beforeno
INNER JOIN [move] AS C2 ON C2.[No]=A.afterno
WHERE A.equno=@equno
GO
Andy-W 2007-05-30
  • 打赏
  • 举报
回复
SELECT A.equno B.equname,C1.[name] AS [移动前部门名称],C2.[name] AS [移动后部门名称]
FROM move AS A
INNER JOIN main AS B ON B.equno=A.equno
INNER JOIN [move] AS C1 ON C1.[No]=A.beforeno
INNER JOIN [move] AS C2 ON C2.[No]=A.afterno

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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