VinnarenMedlem sedan sep. 2005833 inlägg Hej
Har denna sql-fråga som funkar i Access:
SELECT nyheter.nyID, anvandare.userID AS anvandare_userID, anvandare.userNamn, nyheter.userID AS nyheter_userID, nyheter.nyDatum, nyheter.nyRubrik, iif(exists (select * from nyheter_kommentarer where nyheter.nyID = nyheter_kommentarer.nyID),1,0) as kommentar
FROM anvandare INNER JOIN nyheter ON anvandare.userID=nyheter.userID ORDER BY nyheter.nyDatum DESC
Får felmeddelandet:
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 '(exists (select * from nyheter_kommentarer where nyheter.nyID = nyheter_kommenta' at line 1
Undrar nu hur jag ska få den att fungera även i MySQL?
Tacksam för all hjälp :stud
TroxyMedlem sedan mars 20041 505 inlägg Det är väl funktionen IIF() som den klagar på.
Motsvarigheten i MySQL är IF().
Testa att bara sudda ut ett I så kanske det funkar :)
Peter SMedlem sedan dec. 20025 483 inlägg Testa:
SELECT
nyheter.nyID,
anvandare.userID AS anvandare_userID,
anvandare.userNamn,
nyheter.userID AS nyheter_userID,
nyheter.nyDatum,
nyheter.nyRubrik,
case when exists(select 1 from nyheter_kommentarer where nyheter.nyID = nyheter_kommentarer.nyID)
then 1
else 0
end as kommentar
FROM
anvandare INNER JOIN nyheter
ON
anvandare.userID=nyheter.userID
ORDER BY
nyheter.nyDatum DESC
VinnarenMedlem sedan sep. 2005833 inlägg tack, nu funkar den :bire
VinnarenMedlem sedan sep. 2005833 inlägg har fått en sql fråga till som har lagt av sen jag byte till MySQL
SELECT spelare.playID, spelare.lagID, spelare.landID AS spelare_landID, spelare.playFnamn+' '+spelare.playEnamn AS Namn,
spelare.playFnamn, spelare.playEnamn, spelare.playFodd, spelare.playFodelseort, spelare.playPosition, spelare.playSkott, spelare.playAktiv,
land.landID AS land_landID, land.land, land.flagga, klubbar.lagNamn FROM (land INNER JOIN spelare ON land.landID=spelare.landID)
LEFT JOIN klubbar ON spelare.lagID=klubbar.lagID WHERE spelare.playFnamn+' '+spelare.playEnamn Like '%test%' AND playAktiv =1 ORDER BY playEnamn ASC
det är nog spelare.playFnamn+' '+spelare.playEnamn som inte fungerar, får inte fram kolumnen Namn, så då funkar det nog inte att söka i häller, får nämligen ingen träff.
Hur ska man få detta att fungera i MySQL???
Tacksam för all hjälp
@ndersMedlem sedan juni 200032 969 inlägg Prova att använda concat() istället för att konkatenera med +.
Peter SMedlem sedan dec. 20025 483 inlägg Byt ut de raderna mot
concat(spelare.playFnamn,' ',spelare.playEnamn)
Red./ Grrr
VinnarenMedlem sedan sep. 2005833 inlägg tack, nu funkar den igen :i