给定
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
我可以避免从 Parent 中选择两次吗?