[英]How to write a stored procedure
我正在嘗試寫一個sp。 我的要求如下:
表A:
ID是主鍵。
+----+---------+ | Id | Col1 | +----+---------+ | 1 | Sample1 | | 2 | Sample2 | +----+---------+
表B:
ID是主鍵。 Col1_Id是TableA的外鍵
+----+---------+-------+ | Id | Col1_Id | Col2 | +----+---------+-------+ | 1 | 1 | TestA | | 2 | 1 | TestB | | 3 | 2 | TestC | +----+---------+-------+
表C:
ID是主鍵。
+----+------------------------+ | Id | QusetionText | +----+------------------------+ | 1 | Sample Question One? | | 2 | Sample Question Two? | | 3 | Sample Euestion Three? | +----+------------------------+
我的輸出應該是; 表D:
ID是主鍵。 Col1_Id是表A的外鍵Col2_Id是表B的外鍵
+----+------------+---------+---------+------------------------+ | Id | QuestionId | Col1_Id | Col2_Id | QusetionText | +----+------------+---------+---------+------------------------+ | 1 | Q_2013 | 1 | 1 | Sample Question One? | | 2 | Q_2013 | 1 | 1 | Sample Question Two? | | 3 | Q_2013 | 1 | 1 | Sample Question Three? | | 4 | Q_2013 | 1 | 2 | Sample Question One? | | 5 | Q_2013 | 1 | 2 | Sample Question Two? | | 6 | Q_2013 | 1 | 2 | Sample Question Three? | | 7 | Q_2013 | 2 | 3 | Sample Question One? | | 8 | Q_2013 | 2 | 3 | Sample Question Two? | | 9 | Q_2013 | 2 | 3 | Sample Question Three? | +----+------------+---------+---------+------------------------+
請告訴我如何編寫查詢以獲取TableD。
預先感謝大家的答復。
看一下這個,
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Prathiba
-- Create date:
-- Description:
-- =============================================
CREATE PROCEDURE SampleProc
AS
BEGIN
SET NOCOUNT ON;
SELECT dbo.TableA.Id, dbo.TableB.Col1_Id, dbo.TableC.Id AS Col2_Id, dbo.TableC.QuestionText
FROM dbo.TableA INNER JOIN
dbo.TableB ON dbo.TableA.Id = dbo.TableB.Col1_Id CROSS JOIN
dbo.TableC
END
GO
請確保與您的TableC沒有關系,即為什么使用交叉聯接 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.