Avatar billede pnr Nybegynder
06. april 2006 - 08:47 Der er 4 kommentarer og
1 løsning

Hjælp til sqlsætning

Jeg har følgende tabeller:

--ProduktData--
*produktid
aktiv


--Beskrivelse--
*produktid
*specid
vaerdie


--Ordrelinie--
*ordrelinieid
ordreid
produktId
Antal


Forklaring:
Et produkt består af x antal beskrivelse (disse er dynamiske), hver type beskrivelse kaldes en specifikation (Den tabel er ikke med her) og der kan kun være en af hver specifikation pr produkt (specid referere til en specifikation).

Jeg har så tabellen ordrelinier som referere til nogle bestilte produkter. Det jeg skal have lavet er en ordreseddel som for hver ordrelinie skal vise antal bestilte enheder (ordrelinie.antal), produktets navn (beskrivelse.specid = 286) og produktets pris (beskrivelse.specid = 293) for et bestemt ordreid.

Jeg har prøvet at lave noget ala det her:

SELECT DISTINCT antal AS Quantity,
                          (SELECT    TOP 1 vaerdie
                            FROM          Beskrivelse
                            WHERE      specId = 286) AS navn,
                          (SELECT    TOP 1 vaerdie
                            FROM          Beskrivelse
                            WHERE      specId = 293) AS belob
FROM        beskrivelse INNER JOIN
                      shop_ordrelinier ON beskrivelse.produktId = shop_ordrelinier.produktId
WHERE    (shop_ordrelinier.ordreId = @ordrenr)

Men det giver ikke helt mening...
Avatar billede jens_klinting Nybegynder
07. april 2006 - 20:52 #1
Noget i denne stil, hvis jeg har forstået det korrekt.

SELECT ordrelinie.antal,
      prodBesk.vaerdi AS navn,
      prodPris.vaerdi AS pris
FROM
ordrelinie
JOIN beskrivelse AS prodBesk ON
    ordrelinie.ordreid = @ordrenr
AND ordrelinie.produktId=prodBesk.produktId
AND prodBesk.specid=286

JOIN beskrivelse AS prodPris ON
    ordrelinie.produktId=prodPris.produktId
AND prodPris.specid=293

Da jeg læste dit spørgsmål, kom jeg til at tænke på, om du i forbindelse med ordrelinierne er opmærksom på, at du ikke får rettet i gamle ordrer ved opdatering af produktbeskrivelser og priser.

// Jens
Avatar billede ldanielsen Nybegynder
11. april 2006 - 09:36 #2
jens har ret!

Med ordrer er det oftest rigtigt at hardcode varetekst m.m. da det er vigtigt at man et halvt år senere kan se hvad der præcist blev bestilt. Det samme vil du naturligvis gøre med priser.

Så når en vare bestilles, så henter man Varetekst, Pris m.m. fra diverse tabeller, og gemmer dem i shop_ordrelinier.

Du skal naturligvis alligevel gemme produktId'et i shop_ordrelinier.
Avatar billede pnr Nybegynder
11. april 2006 - 09:43 #3
Så siger jeg mange tak for jeres hjælp :-)

Hvis jens får 50 point og ida 10 point er det så ok med jer?
Avatar billede ldanielsen Nybegynder
11. april 2006 - 10:18 #4
Ikke noget til mig :o)
Avatar billede jens_klinting Nybegynder
12. april 2006 - 12:52 #5
:o)
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