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 [email protected]
我可以避免从父项中选择两次吗?
真正的表具有UNIQUE约束,但感谢您指出了这一点。 INNER JOIN对我来说似乎是一个更好的方法。 –