SQL 2000: data invoegen via gekoppelde tabel.

Status
Niet open voor verdere reacties.

Fonebone

Nieuwe gebruiker
Lid geworden
1 mei 2008
Berichten
1
Hoi specialisten, ik heb een probleem met data invoegen en bestaande data koppelen in een kleine database met genormaliseerde tabellen om dubbele records te voorkomen. (bijgesloten afbeelding van de tabel relaties)

Er zijn 3 tabellen.
Tabel1: UserInfo: informatie van gebruikers
Tabel2: GroupInfo: Groepsinformatie
Tabel3: MemberOf: Koppeling tussen tabel 1 en 2 die relatie tussen de gebruiker en bijhorende groepen verzorgd.

Tabel 3 MemberOf is de koppeling tussen tabel 1 en 2. Deze bevat de PrimaryKey IDUserInfo van tabel 1 en PK ID-GroupID van tabel 2. Op deze wijze wordt de relatie gemaakt tussen de gebruiker in tabel 1 en de groepen waar de gebruiker lid van is in tabel 2.

Situatie:
Data 1: gebruiker JAN is lid van GROEP1 en GROEP2.
Data 2: gebruiker PIET is lid van GROEP2 en GROEP3.

Vraag:
Hoe kan ik een query maken die ervoor zorgt dat JAN wordt toegevoegd in tabel 1, en de bijhorende groepen in tabel 2. Vervolgens moet de data2 worden toegevoegd. PIET wordt toegevoegd aan tabel 1 en aan de groepen aan tabel 2.
In tabel 2 mogen geen duplicaten worden geregistreerd, maar als een groepsnaam niet aanwezig is in tabel 2, dan moet deze wel worden toegevoegd.
Tabel 3 MemberOf moet voor de (automatische) koppeling zorgen tussen de gebruikersnaam en de bijhorende groepen.

Ik ben al een paar dagen aan het puzzelen maar hoop dat jullie mij op weg kunnen helpen.

Alvast bedankt Fred
 

Bijlagen

  • SQL Helpmij.nl tabel.JPG
    SQL Helpmij.nl tabel.JPG
    17,5 KB · Weergaven: 45
De namen uit je data kan jemet een insert statement aan je Userinfo toevoegen:
Code:
Insert into Userinfo (Naam) 
(Select distinct Naam from Data)
of als je wilt controleren of die al bestaat:
Code:
Insert into Userinfo (Naam) 
(Select distinct Naam from Data where not in (select naam from userinfo))
Als je er nog steeds niet uitkomt hoor ik het wel.

HTH:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan