/ 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
Problemer med SQL
Fra : Phreak


Dato : 20-05-01 22:07

Jeg har et problem med at få udtrukket de rigtige data fra en access
database.

Databasen er opbygget således:

Ingredienser - tabel med følgende felter:
ID (tal - nøgle), Navn (tekst), Enhed (tekst)

Indgår - tabel med følgende felter:
ID (tal - nøgle), Opskrift (nr), Ingrediens (nr - referer til ID i
Ingredienser), Mængde (tal)

Bestillinger - tabel med følgende felter:
ID (tal - nøgle), Bruger (tal), MorgenMenu (tal - referer til Opskrift
i Indgår), FrokostMenu (tal - referer til Opskrift i Indgår),
MiddagMenu (tal - referer til Opskrift i Indgår), Dato (dato)


Det jeg gerne vil kunne udtrække, er så en fuldstændig ingrediensliste
med Navn, Mængde og Enhed på ingredienser for en bestemt dato.
Men jeg kan ikke få den til at tælle rigtigt op, når der er flere
brugere der har bestilt samme ret samme dag.

Håber nogen kan forstå dette, og hjælpe mig med at få opbygget den
rigtige SQL sætning.
Hvis der er spørgsmål eller kommentarer, kan jeg kontaktes på:
mh@mols.dk

Mvh
Michael Halle




 
 
Nis Jørgensen (20-05-2001)
Kommentar
Fra : Nis Jørgensen


Dato : 20-05-01 23:08

On Sun, 20 May 2001 23:06:44 +0200, Phreak <phreak@mail1.stofanet.dk> wrote:

>Jeg har et problem med at få udtrukket de rigtige data fra en access
>database.
>
>Databasen er opbygget således:
>
>Ingredienser - tabel med følgende felter:
>ID (tal - nøgle), Navn (tekst), Enhed (tekst)
>
>Indgår - tabel med følgende felter:
>ID (tal - nøgle), Opskrift (nr), Ingrediens (nr - referer til ID i
>Ingredienser), Mængde (tal)
>
>Bestillinger - tabel med følgende felter:
>ID (tal - nøgle), Bruger (tal), MorgenMenu (tal - referer til Opskrift
>i Indgår), FrokostMenu (tal - referer til Opskrift i Indgår),
>MiddagMenu (tal - referer til Opskrift i Indgår), Dato (dato)
>
>
>Det jeg gerne vil kunne udtrække, er så en fuldstændig ingrediensliste
>med Navn, Mængde og Enhed på ingredienser for en bestemt dato.
>Men jeg kan ikke få den til at tælle rigtigt op, når der er flere
>brugere der har bestilt samme ret samme dag.

Problemet er nok, at få forbundet alle tre måltider fra Bestillinger til Indgår.
Hvis du er sikker på, at folk ikke skal have det samme til to måltider, vil
noget i retning af dette nok kunne bringes til at virke:

SELECT Navn, Sum(Mængde), Enhed
FROM Bestillinger, (Indgår INNER JOIN Ingredienser ON Indgår.Ingrediens =
Ingredienser.ID)
WHERE (Bestillinger.MorgenMenu = Indgår.Opskrift OR
Bestillinger.Frokostmenu = Indgår.Opskrift OR
Bestillinger.MiddagMenu = Indgår.Opskrift)
And Bestillinger.Dato = #11/31/2000#

(ikke afprøvet)

Hvis dette ikke er godt nok, bliver du nok nødt til at lave en UNION, a la

SELECT ID, Bruger, MorgenMenu as Menu, Dato FROM Bestillinger
UNION SELECT ID, Bruger, FrokostMenu as Menu, Dato FROM Bestillinger
UNION SELECT ID, Bruger, MiddagsMenu as Menu, Dato FROM Bestillinger

og så joine den med Indgår-tabellen

(heller ikke testet)

--
Med venlige hilsner

Nis Jørgensen, Albertslund

Actual code behavior may differ from intended.

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste