Я очень плохо знаком с SQL, но должен написать запрос, чтобы сделать следующее.
Использование MS SQL Server 2005.
Profile DefinitioninProfile Definition
------ ------------------- ----------
ProfileID DefinitionID DefinitionID
ProfileType ProfileID DefinitionType
ProfileName
В таблице определения тип определения может быть ТипА, ТипВ ..... ТипЗ.
Я хочу убедиться, что для определенного типа профиля, ProfileTypeA
Определение имеет все типы, TypeA -> TypeZ.
Но некоторые типы уже существуют в таблице, и я не хочу иметь дубликаты.
So its something like
SELECT ProfileID from Profile where ProfileType = ProfileTypeA
FOR EACH ProfileID
IF NOT EXISTS IN Defintion TypeA
INSERT TypeA into Definition
INSERT ProfileID, DefinitionID into DefinitionInProfile
...repeat for TypeB, TypeC...
END
Мне нужно получить все экземпляры, где ProfileType = ProfileTypeA
Тогда получите первый Profile.profileID
Затем проверьте таблицу DefinitioninProfile, чтобы получить список DefinitionID, где
profileID = Profile.ProfileID
Затем для всех этих идентификаторов определений проверьте, существует ли DefinitionType с именем «TypeA».
если не вставить его, если есть игнорировать его.
Затем сделайте то же самое для 'TypeB', повторите для typec, .. typeZ
Вернитесь к шагу 2 и получите следующий Profile.ProfileID и повторите 3 и 4 для этого идентификатора профиля.