Avatar billede mbm Nybegynder
26. januar 2010 - 15:48 Der er 6 kommentarer

Hvordan gør jeg det i sql

Hejsa

Jeg har en række tabeller:

Tabel1:
kundenummer, navn

tabel2:
kundenummer, produktnummer, produktnavn, antal

tabel3:
kundenummer, produktnummer, produktnavn, antal

Hvordan i en sql får jeg følgende resultat:

kundenummer, navn, produktnummer, produktnavn, antal(tabel1), antal(tabel2).

F.eks:

1234, Jens Jensen, 444, Søm, 100, 200
1234, Jens Jensen, 445, Skruer, null, 5
1234, Jens Jensen, 446, Briller, 1, null
osv osv

Håber mit spørgsmål giver mening.

/c
Avatar billede arne_v Ekspert
26. januar 2010 - 15:54 #1
SELECT *
FROM tabel1,tabel2,tabel3
WHERE tabel1.kudnernummer=tabel2.kudnernummer AND tabel1.kudnernummer=tabel3.kudnernummer

vil give alt.

Du kan erstatte stjernen med en liste med de felter du har brug for.
Avatar billede mbm Nybegynder
26. januar 2010 - 16:05 #2
beklager jeg skrev vist forkert. Jeg skal bruge en sum på antal for hvert produkt fra tabel2 og tabel3.
Avatar billede Syska Mester
26. januar 2010 - 16:41 #3
en sum af hvad ?

og hvorfor er table 2 og 3 ens ?
Avatar billede arne_v Ekspert
26. januar 2010 - 16:52 #4
Summer laves som:

SELECT grupperingsfelt,SUM(vaerdifelt)
FROM tabel
GROUP BY grupperingsfelt

men jeg er lidt tabt med hensyn til hvad du praecist vil have ud af det.
Avatar billede hrc Mester
26. januar 2010 - 17:14 #5
Du kan med fordel kigge lidt på denne hjemmeside (site): http://www.w3schools.com/SQl/default.asp. Der er meget lærdom at hente, også på andre emner som html, xhtml, xml osv.
Avatar billede wagner Nybegynder
27. januar 2010 - 20:26 #6
Jeg er lidt i tvivl om indholdet i tabel 2 og 3 indeholder de samme produktnumre, hvad du ønsker at få ud.
Måske noget ala:
select t1.kundenummer, t1.navn, t2.produktnummer, t2.produktnavn, sum(t2.antal)
from tabel1 t1
join tabel2 t2 on t1.kundenummer = t2.kundenummer
group by t1.kundenummer, t1.navn, t2.produktnummer, t2.produktnavn
union all
select t1.kundenummer, t1.navn, t3.produktnummer, t3.produktnavn, sum(t3.antal)
from tabel1 t1
join tabel3 t3 on t1.kundenummer = t3.kundenummer
group by t1.kundenummer, t1.navn, t3.produktnummer, t3.produktnavn

Findes eks. samme produktnummer i tabel 2 +3 kan du overveje at lægge ovenstående i en subselect, og derefter gruppere som i ovenstående eksempel.

Wagner
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

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