簡體   English   中英

如何編寫存儲過程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM