Avatar billede phineas_phreak Nybegynder
06. november 2004 - 16:20 Der er 9 kommentarer og
1 løsning

hjælp til SQL udtræk

hej...

har følgende tabeller:


medarbejderinfo (cpr, løn, tlf)
børn (cpr, barnenavn, alder)
medarbejdere (cpr, afdelingsnr)
afdelingsinfo (afdelingsnr, afdelingsnavn, afdelingsbudget)

cpr i tabellen børn er medarbejderens cpr nummer og så hvilke børn vedkommende har hvis nogen skulle være i tvivl.

Men jeg ønsker nu at udtrække følgende:

telefonnumre på de medarbejdere der har en datter ved navn mette

navne på de afdelinger hvori der findes en medarbejder der har en datter ved navn mette.

Jeg har løst det med en nested query sætning, men er der andre løsning som måske er mere rigtige ?

på forhånd tak
Avatar billede arne_v Ekspert
06. november 2004 - 16:22 #1
Er det ikke bare nogle joins med en where ?
Avatar billede arne_v Ekspert
06. november 2004 - 16:23 #2
SELECT medarbejderinfo.tlf
FROM medarbejderinfo,børn
WHERE medarbejderinfo.cpr=børn.info AND børn.barnenavn='mette'
Avatar billede arne_v Ekspert
06. november 2004 - 16:25 #3
SELECT afdelingsinfo.afdelingsnavn
FROM børn,medarbejdere,afdelingsinfo
WHERE børn.cpr=medarbejdere.cpr AND medarbejdere.afdelingsnr=afdelingsinfo.afdelingsnr AND børn.barnenavn='mette'
Avatar billede phineas_phreak Nybegynder
06. november 2004 - 16:28 #4
Jeg har gjort sålede:
select tlf from medarbejderinfo where cpr in (select cpr from børn where barnenavn='Mette');

Er dette smartere eller er det smag og behag ? ville bare gerne vide om der fandtes en egentlig løsning.

I din sætning skal der vel stå WHERE medarbejderinfo.cpr=børn.cpr ... ikke sandt ?

Men hvordan vil du så løse den næste ?
Avatar billede arne_v Ekspert
06. november 2004 - 16:48 #5
Jeg mener ikke at det gør nogen nævneværdig forskel med SQLServer.

Ja selvfølgelig:
SELECT medarbejderinfo.tlf
FROM medarbejderinfo,børn
WHERE medarbejderinfo.cpr=børn.cpr AND børn.barnenavn='mette'

Se 16:25:30.
Avatar billede majkat Nybegynder
06. november 2004 - 19:19 #6
hmm... nok noget off-topic, men har du checket med datatilsynet at det du har gang i er lovligt? Personhenførbare oplysinger, CPR-numre, ...
Avatar billede arne_v Ekspert
06. november 2004 - 19:40 #7
Nu ligner det en firma database og firmaer har vel normalt CPR nummer
på deres ansatte (indberetning af indeholdt A skat og den slags).

Men måske fagforeningen ville have noget at sige om interessen for
børn og deres alder.
Avatar billede phineas_phreak Nybegynder
06. november 2004 - 22:25 #8
Ja jeg ved godt det ikke direkte er lovligt at registrere folks cpr numre, men nu skal det siges at det bare er en opgave der skal afleveres, ikke noget der skal bruges i praksis.
Avatar billede phineas_phreak Nybegynder
06. november 2004 - 22:26 #9
jeg takker for hjælpen

arne_v læg et svar
Avatar billede arne_v Ekspert
06. november 2004 - 22:28 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester