Avatar billede neeo Nybegynder
01. april 2004 - 16:41 Der er 7 kommentarer og
1 løsning

query virker ikke ?

hej til alle.

dett er vist min sidste query som ikke virker.

SELECT DISTINCTROW medarbejder.medarbejder_navn, Sum(booking.booking_total_pris) AS SumOfbooking_total_pris, Count(*) AS `Antal Of rejse`
FROM medarbejder INNER JOIN (booking INNER JOIN rejse ON booking.booking_id = rejse.booking_id) ON medarbejder.medarbejder_id = booking.medarbejder_id
WHERE (((rejse.rejse_type)="afrejse"))
GROUP BY medarbejder.medarbejder_navn;
Avatar billede neeo Nybegynder
01. april 2004 - 16:41 #1
den melder:


MySQL said:


#1064 - You have an error in your SQL syntax near '( booking
INNER  JOIN rejse ON booking.booking_id = rejse.booking_id ) ON medarb' at line 3
Avatar billede arne_v Ekspert
01. april 2004 - 16:44 #2
Gæt:

SELECT DISTINCTROW medarbejder.medarbejder_navn, Sum(booking.booking_total_pris) AS SumOfbooking_total_pris, Count(*) AS `Antal Of rejse`
FROM (booking INNER JOIN rejse ON booking.booking_id = rejse.booking_id) INNER JOIN medarbejder ON medarbejder.medarbejder_id = booking.medarbejder_id
WHERE rejse.rejse_type='afrejse'
GROUP BY medarbejder.medarbejder_navn;
Avatar billede neeo Nybegynder
01. april 2004 - 17:04 #3
ok så skal jeg spørge, hvad er det der er galt med alle mine qurys, er det et bestemt fejl i dem alle eller ?
Avatar billede neeo Nybegynder
01. april 2004 - 17:05 #4
men det virker :) du må gerne indlægge et svar :)
Avatar billede arne_v Ekspert
01. april 2004 - 17:05 #5
svar
Avatar billede arne_v Ekspert
01. april 2004 - 17:07 #6
En fast ting er at der skal joine sfra venstre mod højre.

Altså:

FROM (ta INNER JOIN tb ON ta.id=tb.id) INNER JOIN tc ON tb.id=tc.id

ikke:

FROM ta INNER JOIN (tb INNER JOIN tc ON tb.id=tc.id) ON ta.id=tb.id
Avatar billede arne_v Ekspert
01. april 2004 - 17:10 #7
Så er der den med GROUP BY - du skal kun bruge GROUP BY hvis du har aggregerende
funktioner som COUNT og SUM i det du SELECT'er - til gengæld skal der så være
GROUP BY på alle dem der ikke er en aggregerende funktion.

SELECT f1,f2 FROM t;
SELECT f1,SUM(f2) FROM t GROUP BY f1;

er OK.

SELECT f1,f2 FROM t GROUP BY f1;
SELECT f1,SUM(f2) FROM T;

er ikke OK.
Avatar billede neeo Nybegynder
01. april 2004 - 17:21 #8
ok, skal bare prøve det et par gange men du skal have tussind tak
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