Avatar billede juleand Nybegynder
24. august 2010 - 20:02 Der er 10 kommentarer

Fejl i query

Er der nogen som kan gennemskue fejlen her?

SELECT title, contentid
CASE WHEN fk_contentid = contentid
THEN "Y" ELSE "N" END as readit
FROM content
CROSS JOIN member
LEFT JOIN memberContent
ON memberid=fk_memberid and fk_contentid=contentid
where memberid=1

[Err] 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 'CASE WHEN fk_contentid = contentid
THEN "Y" ELSE "N" END as readit
FROM content' at line 2
Avatar billede juleand Nybegynder
24. august 2010 - 20:25 #1
Glemte oplysningerne om tabellerne:

CREATE TABLE content (
contentid int(11) NOT NULL auto_increment,
title varchar(100) collate latin1_danish_ci NOT NULL default,
content text collate latin1_danish_ci NOT NULL,
  PRIMARY KEY  (contentid)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci

CREATE TABLE member (
memberid int(11) NOT NULL auto_increment,
name varchar(100) collate latin1_danish_ci NOT NULL default,
email varchar(100) collate latin1_danish_ci NOT NULL default,
password varchar(100) collate latin1_danish_ci NOT NULL default,
PRIMARY KEY  (memberid)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci

CREATE TABLE memberContent (
fk_contentid int(11) NOT NULL,
fk_memberid int(11) NOT NULL,
id int(11) NOT NULL auto_increment,
PRIMARY KEY  (id)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci
Avatar billede arne_v Ekspert
24. august 2010 - 20:32 #2
Mangler der ikke bare et komma mellem contentid og CASE?
Avatar billede juleand Nybegynder
24. august 2010 - 20:45 #3
Løst ....
Der manglede et komma i den første linie efter
SELECT title, contentid (komma manglede)
Avatar billede juleand Nybegynder
24. august 2010 - 21:00 #4
Jo da ! Tak arne_v. Fandt den også den selv, du jeg så dit svar ....
Men sådan er det ofte - man stirrer sig blind på CASE osv.
Avatar billede nemlig Professor
24. august 2010 - 21:59 #5
Så er det vel på sin plads, at det er Arne_v, der får pointene.
Avatar billede juleand Nybegynder
24. august 2010 - 22:04 #6
Ja, helt sikkert! - men jeg registrerede på experten for en times tid siden. Hvordan gør jeg det? Ved at "acceptere dette svar "?
Avatar billede arne_v Ekspert
24. august 2010 - 22:06 #7
jeg skal foerst smide et svar
Avatar billede juleand Nybegynder
24. august 2010 - 22:13 #8
??? Ikke forstået...
Avatar billede nemlig Professor
24. august 2010 - 22:26 #9
Nu hvor Arne har svaret, kan markere, at han skal have pointene.
For en anden gangs skyld, så er det den/dem, der skal have point, som sender svar.
Når der er sendt svar, kan trådstarter tildele point.
Avatar billede arne_v Ekspert
26. september 2010 - 20:56 #10
Der skulle gerne være en lille checkbox udfor #7 nu.
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