27,581
社区成员
发帖
与我相关
我的任务
分享
第一张表: A
AID DESC setp dn
1 这是A第1个描述 1 null
2 这是A第2个描述 1 null
3 这是A第3个描述 1 123
4 这是A第4个描述 2 null
6 这是A第5个描述 2 null
7 这是A第6个描述 2 234
第二张表: B
BID AID BDesc state
1 4 这是B第1个描述 1
2 6 这是B第2个描述 1
3 7 这是B第3个描述 1
4 2 这是B第4个描述 3
5 1 这是B第5个描述 3
6 3 这是B第6个描述 3
传入三个参数 分别为 setp state dn
事例: 1 3 123
结果:
AID DESC setp dn BDesc
1 这是A第1个描述 1 null 这是B第5个描述
2 这是A第2个描述 1 null 这是B第4个描述
3 这是A第3个描述 1 123 这是B第6个描述
事例: 1 3 234
结果:
AID DESC setp dn BDesc
1 这是A第1个描述 1 null 这是B第5个描述
2 这是A第2个描述 1 null 这是B第4个描述
在线等高手来解答 谢谢了!
GO
IF OBJECT_ID('P_SP') IS NOT NULL
DROP PROC P_SP
GO
CREATE PROC
P_SP @setp INT,@state INT,@dn INT
AS
CREATE TABLE #T(
AID INT,
[DESC] VARCHAR(100),
setp INT,
dn INT,
BDesc VARCHAR(100),
[state] INT
)
INSERT #T
SELECT A.AID,A.[DESC],A.setp,A.dn,B.BDesc,B.[state] FROM [A1] A
LEFT JOIN [ B] B
ON A.AID=B.AID
SELECT AID,[DESC],setp,dn,BDesc FROM #T
WHERE setp=@setp AND [state]=@state AND DN=@dn