Avatar billede hansdam Nybegynder
18. april 2004 - 22:42 Der er 6 kommentarer og
1 løsning

sql sætninger driller

Hej..

Jeg sidder lige og er ved at lave nogle søgninger i min mysql database..

Jeg har en sql sætning der ser sådan ud:
sql = "SELECT DISTINCTROW rejse.rejse_airlines, rejse.rejse_til, Sum( booking.booking_total_pris ) AS `Sum Of booking_total_pris` , Sum( booking.booking_koebs_pris ) AS `Sum Of booking_koebs_pris` , Sum( udskrift.udskrifts_nr ) AS SumOfudskrifts_nr "
sql = sql & "FROM ("
sql = sql & "booking "
sql = sql & "INNER JOIN rejse ON booking.booking_id = rejse.booking_id"
sql = sql & ") "
sql = sql & "INNER JOIN udskrift ON booking.booking_id = udskrift.booking_id "
sql = sql & "WHERE ("
sql = sql & "("
sql = sql & "("
sql = sql & "rejse.rejse_type"
sql = sql & ") = 'afrejse'"
sql = sql & ")"
sql = sql & ") "
strsql = strsql & " GROUP BY rejse.rejse_airlines, rejse.rejse_til"

Denne sql virker helt fint, men når jeg tager søgningen med ind i den, virker den ikke... Så kommer den til at se sådan ud:
sql = "SELECT DISTINCTROW rejse.rejse_airlines, rejse.rejse_til, Sum( booking.booking_total_pris ) AS `Sum Of booking_total_pris` , Sum( booking.booking_koebs_pris ) AS `Sum Of booking_koebs_pris` , Sum( udskrift.udskrifts_nr ) AS SumOfudskrifts_nr "
sql = sql & "FROM ("
sql = sql & "booking "
sql = sql & "INNER JOIN rejse ON booking.booking_id = rejse.booking_id"
sql = sql & ") "
sql = sql & "INNER JOIN udskrift ON booking.booking_id = udskrift.booking_id "
sql = sql & "WHERE ("
sql = sql & "("
sql = sql & "("
sql = sql & "rejse.rejse_type"
sql = sql & ") = 'afrejse'"
sql = sql & ")"
sql = sql & ") "
sql = sql & "WHERE (`rejse_airlines` LIKE '%London%' OR `rejse_til` LIKE '%London%')"
sql = sql & " GROUP BY rejse.rejse_airlines, rejse.rejse_til"

Den melder denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near 'WHERE (`rejse_airlines` LIKE '%London%' OR `rejse_til` LIKE '%London%') GROUP BY' at line 1

Håber der er nogen der kan hjælpe
/Hans
Avatar billede Slettet bruger
18. april 2004 - 22:47 #1
Prøv at fjerne ( ) i din where del
sql = sql & "WHERE `rejse_airlines` LIKE '%London%' OR `rejse_til` LIKE '%London%'"
Avatar billede Slettet bruger
18. april 2004 - 22:50 #2
Ellers prøv med tabelnavnet foran
sql = sql & "WHERE (`rejse.rejse_airlines` LIKE '%London%' OR `rejse.rejse_til` LIKE '%London%')"
Avatar billede hansdam Nybegynder
18. april 2004 - 22:51 #3
Har prøvet begge dele... Melder stadig
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near 'WHERE `rejse.rejse_airlines` LIKE '%London%' OR `rejse.rejse_til` LIKE '%London%' at line 1
Avatar billede hansdam Nybegynder
18. april 2004 - 22:53 #4
hmm fandt lige ud af det... Jeg kan jo ikke have Where i 2 gange...
Avatar billede Slettet bruger
18. april 2004 - 22:56 #5
Hæ næ den havde jeg ikke set, det kan man selvfølgelig ikke :-)
Avatar billede hansdam Nybegynder
18. april 2004 - 22:57 #6
Nej, det skulle jeg selvfølgelig ikke have overset.. ellers tak for hjælpen :-D
Avatar billede Slettet bruger
18. april 2004 - 22:58 #7
np :-)
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
Kurser inden for grundlæggende programmering

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