02. april 2001 - 18:29Der er
7 kommentarer og 1 løsning
hvorfor virker denne sætning ikke ??
SELECT DISTINCT id, fornavn, efternavn, paynr FROM ansat LEFT OUTER JOIN match ON (( (match.tidstart between \'200104020800\' AND \'200104030845\') OR (match.tidslut between \'200104020800\' AND \'200104030845\') OR (match.tidslut >= \'200104020800\' AND match.tidstart <= \'200104020800\') ) AND (match.status =\'1\')) WHERE (ansat.id != match.idansat) AND ( (ansat.id = \'1\'))
Denne sætning virker fint på min NT server, men når jeg prøver på en Linux server virker det ikke ??? De har samme tabelstruktur 100% Jeg har testet det i phpmyadmin, og den viser ansat med id 1 på min NT server, men jeg får ikke noget resultat på min Linux server ??
Jeg har fundet ud af at den godt kan finde den ansatte hvis jeg ikke har denne her: (ansat.id != match.idansat)
Hvorfor det ??? jeg har ikke nogle data i tabellen match, og der er oprettet den samme ansatte i tabellen ansat ???
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Den eneste idé jeg har er at skrive (ansat.id <> match.idansat) som vistnok er lidt mere standard. Du har måske forskellige versioner af MySql. Og, ja, det burde ikke være det, men det er nemt at prøve.
jeg har løst problemet ved at lave to Sql sætninger. En der henter alle de poster fra match hvor mine kriterier passer, og en sql der så henter alle de ansatte der er forskællige fra de lige hentet ansatte\'s ID.
funny det ikke virker i en JOIN sætning på den ene server!!
_codeb@se.
Synes godt om
Ny brugerNybegynder
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.