Avatar billede phliplip Nybegynder
08. november 2003 - 14:58 Der er 7 kommentarer og
1 løsning

SQL: Den her er svær - prøv lykken !

Hej Exp !

Jeg sidder og roder med et ordre system til min eshop, hvor jeg har 3 tables; brugere, ordrer og ordrer_varer

Følgende SQL sætning kan jeg godt få til at virke:

SELECT ordrer.*, brugere.firma, brugere.fornavn, brugere.efternavn, brugere.telefon, brugere.mobil, brugere.fax
FROM ordrer, brugere
WHERE ordrer.status_id='1' AND ordrer.site_id='".$informationer[id]."' AND (brugere.site_id='2' OR brugere.site_id='0') AND ordrer.betalt='Nej' AND brugere.id=ordrer.bruger_id ORDER BY ordrer.oprettet_timestamp DESC LIMIT 0,20

Jeg ville så gerne havde trukket ordre_pris ud ved hjælp af noget SUM() ! Og det kan jeg ikke lige se hvordan jeg skulle kunne..

I ordrer_varer har jeg felterne; id, antal og pris

Hvis der var 2 varer i "kurven" (ordrer_varer) skulle ordre_pris gerne blive (vare1antal*vare1pris)+(vare2antal*vare2pris)

Der står 200p og respekt på højkant til den der kan give mig løsningen eller kommer med noget så jeg med lidt modificering kan få det til at virke :)
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:02 #1
Noget i retning af

SELECT ordrer.*, brugere.firma, brugere.fornavn, brugere.efternavn, brugere.telefon, brugere.mobil, brugere.fax, sum(ordrer_varer.antal*ordrer_varer.pris) as pris
FROM ordrer, brugere, ordrer_varer
WHERE ordrer.status_id='1' AND ordrer.site_id='".$informationer[id]."' AND (brugere.site_id='2' OR brugere.site_id='0') AND ordrer.betalt='Nej' AND brugere.id=ordrer.bruger_id
group by ordrer.id

...dog utestet
ORDER BY ordrer.oprettet_timestamp DESC LIMIT 0,20
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:02 #2
Nå ja, jeg glemte relationen mellem ordrer og varer. Hvordan ser du
hvilken varer der hører til hvilke ordrer?
Avatar billede phliplip Nybegynder
08. november 2003 - 15:14 #3
ordrer_varer.ordre_id
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:31 #4
Så skulle det være nok at tilføje  ..AND ordrer.id=ordrer_varer.ordre_id
Avatar billede phliplip Nybegynder
08. november 2003 - 20:36 #5
Tak Erik ! Det virker perfekt :P Men hvad gør GROUP BY ??

Smider du lige et svar ;)
Avatar billede phliplip Nybegynder
25. november 2003 - 07:39 #6
Erik !! Smid lige et svar G-Dammit :D

Ellers så snuppser jeg mine point selv !!
Avatar billede erikjacobsen Ekspert
25. november 2003 - 09:14 #7
Dig havde jeg glemt - nej tak, ingen point. 200p er alt for meget for
det her. Prøv at tænke på opfordringen: 15, 30, 60. Der skal meget mere
til for at gå over 60 - efter min mening.
Avatar billede phliplip Nybegynder
25. november 2003 - 12:25 #8
Sådan regner jeg ikke point ud... 200p hvis det er meget vigtigt for mig at få løst problemet !
15p hvis det ikke haster så meget !

Jeg giver en hatte-fis i de point !! Så vil du ha' dem eller ej !?
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