Avatar billede tdh1309 Juniormester
19. september 2006 - 20:10 Der er 8 kommentarer og
1 løsning

Problemer med query

Hej

Nedenstående fejler:
SELECT contentgroups.description, contentgroups.contentid
FROM contentgroups
WHERE contentgroups.contentid NOT
IN (
SELECT privileges.ContentID
FROM  PRIVILEGES  )

I PHPMYADMIN får jeg fejlen:
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT privileges.ContentID
FROM  PRIVILEGES  )' at line 5
Avatar billede arne_v Ekspert
19. september 2006 - 20:16 #1
den syntax kraver version 4.1 eller nyere

hvilken version er du paa ?
Avatar billede tdh1309 Juniormester
19. september 2006 - 20:29 #2
Version: MySQL 4.0.24

Den havde jeg aldrig luret...
Er der en snedig måde at lave det samme på?
Avatar billede arne_v Ekspert
19. september 2006 - 20:40 #3
proev:

SELECT contentgroups.description, contentgroups.contentid
FROM contentgroups LEFT JOIN privileges ON contentgroups.contentid=privileges.ContentID
WHERE privileges.ContentID IS NULL
Avatar billede tdh1309 Juniormester
19. september 2006 - 20:45 #4
Hmm - det er vist ikke vores dag
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRIVILEGES  ON contentgroups.contentid = privileges.ContentID
Avatar billede arne_v Ekspert
19. september 2006 - 20:57 #5
`privileges`

maaske (det kunne vaere et reserevert ord)
Avatar billede tdh1309 Juniormester
19. september 2006 - 21:08 #6
Jeg har ellers lavet en hel masse på denne tabel med navnet privileges uden problemer, men du har faktisk ret...
Mange tak for hjælpen - nu mangler jeg bare et svar så vi kan afregne :-)
Avatar billede tdh1309 Juniormester
19. september 2006 - 22:12 #7
Lige et tillægspørgsmål!
Min querry ser nu ud som:

SELECT contentgroups.description, contentgroups.contentid
FROM contentgroups
LEFT JOIN userprivileges ON contentgroups.contentid = userprivileges.ContentID
WHERE (userprivileges.userid=1 AND userprivileges.ContentID IS NULL);

Men resultatet er tomt...
Jeg har tilføjet i queryen i forhold til sidst...
Det skyldes at jeg kun vil køre på de forekomster som vedrører en given bruger..
Burde dette ikke virke?
Avatar billede tdh1309 Juniormester
19. september 2006 - 22:19 #8
Lurede selv løsningen...

SELECT contentgroups.description, contentgroups.contentid
FROM contentgroups
LEFT JOIN userprivileges ON contentgroups.contentid = userprivileges.ContentID And userprivileges.userid=1
WHERE (userprivileges.ContentID IS NULL);
Avatar billede arne_v Ekspert
19. september 2006 - 22:28 #9
:-)
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

IT-JOB

Netcompany A/S

Test Consultant

BEC Financial Technologies

Business analyst (senior)

Operate Technology A/S

PHP-udvikler til Drupal