Avatar billede 4u2x Nybegynder
21. februar 2011 - 03:27 Der er 2 kommentarer og
1 løsning

Where clause skaber problemer i query

Har på basis af denne artikel: http://thinkdiff.net/mysql/how-to-get-rank-using-mysql-query/

.. lavet nedenstående query som vil give mig rank på den record hvor kolonnen clientid = 1.

Har følgende query:
SET @rownum := 0; SELECT rank FROM (SELECT @rownum := @rownum + 1 AS rank FROM booking WHERE teamID = '65' AND DAYOFWEEK(FROM_UNIXTIME(mysqldate)) = '5' AND FROM_UNIXTIME(mysqldate,'%Y-%m-%d') = '2011-02-24' ORDER BY id ASC) as result WHERE clientid = '1'

Den virker kun hvis jeg fjerner den ydre "WHERE clientid = 1", så det har fået mig til at gå lidt i stå med hvad fejlen kan være. Kolonnen er stavet korrekt men alligevel siger den at "clientid" er unknown.

Nogen som kan pege mig ind på en løsning?
Avatar billede 4u2x Nybegynder
21. februar 2011 - 05:19 #1
Er nået frem til denne query som virker fint i phpmyadmin men ikke når jeg vil bruge den via mysql_query() i php.

SET @rownum := 0; SELECT * FROM (SELECT @rownum := @rownum + 1 AS rank,clientid FROM booking WHERE teamID = '5' AND DAYOFWEEK(FROM_UNIXTIME(mysqldate)) = '5' AND FROM_UNIXTIME(mysqldate,'%Y-%m-%d') = '2011-02-24' ORDER BY id ASC) as result WHERE clientid = '1'

Får denne fejl:
You have an error in your SQL syntax;
Avatar billede 4u2x Nybegynder
21. februar 2011 - 05:43 #2
Endnu en query skrevet anderledes men ud fra samme princip. Får igen en syntax fejl via php men i phpmyadmin virker den.

SET @rownum := 0;
SELECT rank FROM
(
SELECT @rownum := @rownum + 1 AS rank, t.clientid
FROM
(
SELECT clientid FROM oureashira_teamBooking WHERE teamID = '65' AND DAYOFWEEK(FROM_UNIXTIME(mysqldate)) = '5' AND FROM_UNIXTIME(mysqldate,'%Y-%m-%d') = '2011-02-24' ORDER BY id ASC
) as t
) as result WHERE clientid = '5'
Avatar billede 4u2x Nybegynder
24. februar 2011 - 04:01 #3
nevermind
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