私はそのような3つのテーブルを持っています
バググループ
ID NAME DESCRIPTION
--------------------------------------
1 Group1 Some description
2 Group2 Some description
3 Group3 Some description
バグ
ID NAME DESCRIPTION BELONGSTO
--------------------------------------------------
1 Bug1 something 1
2 Bug2 something 1
3 Bug3 something 2
バグコメント
ID BUGID COMMENT
-----------------------------
1 1 something
2 1 something
3 2 something
4 2 something
5 3 something
2 つの結果セットを取得するストアド プロシージャを作成します。1 つは特定のバグ グループのすべてのバグを含み、もう 1 つはグループ内のすべてのバグのすべてのコメントを含みます。このBELONGSTO
フィールドは、バグが属するグループを指定します。したがって、このクエリを実行したい場合、バグ グループ ID に 1 を渡すと、次の結果が期待されます
RESULT SET 1
ID NAME DESCRIPTION BELONGSTO
----------------------------------------------------
1 Bug1 something 1
2 Bug2 something 1
RESULT SET 2
ID BUGID COMMENT
------------------------------
1 1 something
2 1 something
3 2 something
4 2 something
一時テーブルを使用する必要があると思いますが、これを行う方法がわかりません。これは私がこれまでに持っているものです(動作しません)
ALTER PROCEDURE bugs_getAllBugGroupData
@groupid int
AS
BEGIN
DECLARE @bugids TABLE (id int)
INSERT @bugids
SELECT id FROM bugs
WHERE belongsto = @groupid
SELECT * FROM bugs WHERE belongsto = @groupid
SELECT * FROM bugs_comments WHERE bugid IN (@bugids)
END
GO
表示されるエラー メッセージは、最後の select ステートメントで「スカラー変数 @bugids を宣言する必要があります」です。