我对 SQL 很陌生,但需要编写一个查询来执行以下操作。使用 MS SQL Server 2005。
配置文件定义中的配置文件定义 ------ -------- ---------- ProfileID 定义ID 定义ID ProfileType ProfileID 定义类型 个人资料名称
在定义表中,定义Type可以是TypeA、TypeB……TypeZ。我想确保对于某个配置文件类型,ProfileTypeA 定义具有所有类型,TypeA -> TypeZ。
但有些类型已经存在于表中,我不想重复。
所以它就像 从 ProfileType = ProfileTypeA 的 Profile 中选择 ProfileID 对于每个 ProfileID 如果在定义类型 A 中不存在 将 TypeA 插入定义 将 ProfileID、DefinitionID 插入 DefinitionInProfile ...对 TypeB、TypeC 重复... 结尾
我需要获取 ProfileType = ProfileTypeA 的所有实例
然后获取第一个 Profile.profileID
然后检查DefinitioninProfile 表以获取其中profileID = Profile.ProfileID 的DefinitionID 列表
然后对于所有这些定义 ID,检查是否有一个名为“TypeA”的定义类型,如果没有插入,则忽略它。然后对'TypeB'做同样的事情,对typec重复,.. typeZ
返回第 2 步并获取下一个 Profile.ProfileID 并为该配置文件 ID 重复 3 和 4。