/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hjælp til Join-forbindelse
Fra : Villy Moestrup


Dato : 12-10-03 10:40

Hej
Hjælp til Join-Forbindelse -(jeg er nybegynder i databaser)
Jeg har 2 tabeller
Tabel 1 projektnr,ugenr og timeforbrug
Tabel 2 projektnr ,ugenr og materialeforbrug.
Jeg skal bruge en forespørgsel der henter data fra begge tabeller sorteret
pr uge og projektnr.
Jeg kan godt få det til at virke i de uger hvor der er timeforbrug.
Hvis der kun er materialeforbrug i en uge kommer projektnr ugenr og
materialeforbrug ikke med.
Hvordan skal JOIN-forbindelsen laves.
Projektnumrene er tekstfelter da de feks er 2003219-1 og 2003219-2 -kan det
være problemet?
Jeg bruger Access.

mvh Villy



 
 
Jimmy (12-10-2003)
Kommentar
Fra : Jimmy


Dato : 12-10-03 19:29


"Villy Moestrup" <moestrup@tdcspace.dk> wrote in message
news:3f892140$0$45330$edfadb0f@dread11.news.tele.dk...
> Hej
> Hjælp til Join-Forbindelse -(jeg er nybegynder i databaser)
> Jeg har 2 tabeller
> Tabel 1 projektnr,ugenr og timeforbrug
> Tabel 2 projektnr ,ugenr og materialeforbrug.
> Jeg skal bruge en forespørgsel der henter data fra begge tabeller
sorteret
> pr uge og projektnr.


Hvis du har projektnr og ugenr som primærnøgle i f.eks. materialeforbrug og
de samme nøgler i timeforbrug er fremmednøgler, vil følgende nok (Jeg er
vant til MySQL - ret mig hvis Access er anderledes) virke:

SELECT * FROM materialeforbrug
LEFT JOIN timeforbrug ON (materialeforbrug.projektnr = timeforbrug.projektnr
AND materialeforbrug.ugenr = timeforbrug.ugenr)
WHERE ...

Ovenstående kræver dog, at der *er* et materialeforbrug.

Alternativt kan du oprette en ekstra tabel - f.eks. projekt, der har nr som
primærnøgle (Jeg forestiller mig du allerede har den, men ikke skrevet det
her).
Så kan du hente alt fra den og joine de to ekstra tabeller på og derved
hente data, hvis der er noget.


> Projektnumrene er tekstfelter da de feks er 2003219-1 og 2003219-2 -kan
det
> være problemet?

Nej - det er fint.
Problemet er nok det jeg beskrev ovenfor.

Mvh
Jimmy



Kristian Damm Jensen (13-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 13-10-03 11:19

"Jimmy" <nyhedsgruppe2@get2net.danmark> skrev i en meddelelse
news:h3hib.1478$CR4.299@news.get2net.dk...
>
<snip>

> SELECT * FROM materialeforbrug
> LEFT JOIN timeforbrug ON (materialeforbrug.projektnr =
timeforbrug.projektnr
> AND materialeforbrug.ugenr = timeforbrug.ugenr)
> WHERE ...
>
> Ovenstående kræver dog, at der *er* et materialeforbrug.

Erstat LEFT med FULL, så er det problem løst. Jeg har til gengæld ingen
anelse om det kan lade sig gøre i Access. Understøtter Access full outer
join?

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste