我有4个不同的表:
select * from System;
select * from Set;
select * from Item;
select * from Versions;
现在,对于每个系统ID,将有 n no.of Sets ,并且对于每个系统,将有 n no。项目和每个项目将有 n no.of Versions 。
每个系统都有:
当我有一个特定的SystemId
时,我希望从单个存储过程中每个项目的Set
和Items
以及每个项目的Versions
中检索所有记录并使用不同的ID再次将这些记录插入相应的表中。
答案 0 :(得分:0)
经过很少的努力你可以发现,我建议你先研究一下,然后再提问。 我想要更改系统ID,如果你正确地将它们标准化,它不会影响其他表,我的建议是先将它们标准化 规范化后,您不需要复杂的逻辑来理解。 根据我的理解,INNER JOIN最适合你。
@SysID int
SELECT
*
FROM System S1,
INNER JOIN
SET S2,
on S1.SystemID = S2.SystemID
INNER JOIN
ITEMS S3
on S2.SetID = S3.SetID
INNER JOIN
VERSIONS S4
on S3.ItemID = S4.ItemID
WHERE S1.SystemID = @SysID
包含ID的字段是具有相同名称后跟" ID"的表的主键。和其他表引用时的外键。
如果有疑问,请告诉我 三江源