与えられた
CREATE TABLE Parent (
Id INT IDENTITY(1,1) NOT NULL
Name VARCHAR(255)
SomeProp VARCHAR(255)
)
CREATE TABLE Child (
Id INT IDENTITY(1,1) NOT NULL
ParentId INT NOT NULL
ChildA VARCHAR(255)
ChildZ VARCHAR(255)
)
@name
パラメータとして受け入れ、その名前に一致する親を検索し (存在する場合)、その親を結果セットとして返し、その親の子を別の結果セットとして返すストアド プロシージャを作成したいと考えています。
どうすれば子供を効率的に選択できますか? 私の現在の素朴なアプローチは
SELECT @id = FROM Parent WHERE Name = @name
SELECT * FROM Parent WHERE Name = @name
SELECT * FROM Child WHERE ParentId=@id
親から 2 回選択することを避けることはできますか?