Toon posts:

[database / sql ] toevoeg query

Pagina: 1
Acties:

Verwijderd

Topicstarter
[database / sql ] toevoeg / bijwerk query access 2000 ]

hoi,

uitleg:
ik heb een smoelenboek database genormaliseerd. in deze database stonden
naast persoonsgegevens ook kolommen als functie-ID + functiebenaming,
afdeling-ID + afdeling en sector-ID + sector.

ik heb nu meerdere tabellen aangemaakt waaronder:
tabel functie: functieId, functienaam, omschrijving
tabel afdeling: afdelingId, afdelingnaam
tabel sector: sectorId, sectornaam

deze primaire sleutels zijn ingesteld op auto-nummering. het probleem is
dat ik nu met een insert en select query de gegevens van het smoelenboek
wil overzetten naar een nieuwe tabel "medewerker" die kolommen heeft
zoals "email" of "kamernummer", maar ook functieId, afdelingId en sectorId.
in deze tabel zijn de Id's van het type INT en in het smoelenboek zijn functie-ID,
afdeling-ID en sector-ID van het type tekst en zijn een afkorting van de
volledige functie/afdeling/sectornaam.

de functienamen, afdelingnamen, sectornamen zijn ge-insert-ed vanuit
het smoelenboek naar de losse tabellen in de nieuwe situatie. hoe zorg ik
er nu voor dat ik de gegevens uit het smoelenboek naar de nieuwe tabel
omzet?

zoiets:

INSERT INTO dbo_medewerker ( achternaam, tussenvoegsel, aanhef, titel, voorletters, roepnaam, kamernummer, telefoonnummer1, foto, emailadres1 )

SELECT [dbo_Old_Werknemers].[Achternaam], [dbo_Old_Werknemers].[Voor- tussenvoegsel], [dbo_Old_Werknemers].[Aanhef], [dbo_Old_Werknemers].[Titel], [dbo_Old_Werknemers].[Voorletters], [dbo_Old_Werknemers].[Roepnaam], [dbo_Old_Werknemers].[Kamernummer], [dbo_Old_Werknemers].[Telefoon], [dbo_Old_Werknemers].[Foto], [dbo_Old_Werknemers].[Email]

FROM dbo_Old_Werknemers;

er zitten geen null-waardes in, maar de vaste waarden uit de oude tabel wil
ik kopieren naar de nieuwe medewerker tabel, maar ik loop vast door de
foreign keys van functie, afdeling en sector.

[ Voor 3% gewijzigd door Verwijderd op 20-04-2004 14:18 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Je zult eerst de tabellen functie / afdeling en sector moeten invullen.

Daarna kan je de andere tabel invullen , en mbhv een beetje slim joinen moet je wel het juiste FK_id moeten kunnen bemachtigen.

[ Voor 48% gewijzigd door whoami op 20-04-2004 14:17 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
je ziet nu bijv:

tabel functie:
functieId = 1
functienaam = gerechtssecretaris
omschrijving = blabla

tabel afdeling:
afdelingId = 1
afdelingnaam = ICT

tabel sector:
sectorId = 1
sectornaam = communicatie

dus ik heb deze tabellen al gevuld in de nieuwe situatie.

in de tabel medewerker zie je dan zoiets als:
medewerkerId = 1
kamernummer = d121
telefoon = 06000000
...
functieId = 23
afdelingId = 6
sectorId = 4
...

in de oude situatie zag je alles in 1 tabel, vandaar de normalisatie:

medewerkerId = 1
kamernummer = d121
telefoon = 06000000
...
functieId = GS
functiebenaming = gerechtssectretaris
afdelingId = IA
afdeling = I&A
sectorId = CBB
sector = Bedrijfsbureau

moet ik dus eerst de nieuwe joins maken en dan inserten in de nieuwe tabel
medewerker om de persoonlijke gegevens over te sluizen?
...

[ Voor 10% gewijzigd door Verwijderd op 20-04-2004 14:27 ]