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
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