Moin
Ich habe eine komplexe Abfrage die nicht richtig funktioniert. Ich weiß aber nicht so richtig warum
SELECT
Typ,
Anzahl,ID,
Name,
Beschreibung
FROM
(
(
SELECT
'Datentyp1' AS Typ,
(
SELECT
COUNT(*) FROM Datentyp1
WHERE MATCH (Name, Beschreibung)
AGAINST (' +test*' IN BOOLEAN MODE)
)
AS Anzahl,
Datentyp1_ID AS ID,
Name AS Name,Beschreibung AS Beschreibung
FROM
Datentyp1
LEFT JOIN
Schlagwort ON
(
MATCH (Schlagwort)
AGAINST (' +test')
IN BOOLEAN MODE
)
LEFT JOIN
`Datentyp1-Schlagwort` ON
(
`Datentyp1-Schlagwort`.Schlagwort_ID = Schlagwort.Schlagwort_ID
)
WHERE
MATCH (Name, Beschreibung)
AGAINST (' +test'
IN BOOLEAN MODE)
OR
`Datentyp1-Schlagwort`.Datentyp1_ID = `Datentyp1`.Datentyp1_ID
ORDER BY Name ASC LIMIT 0,3
)
)
AS comtable
Die Fehlermeldung lautet:
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 'BOOLEAN MODE) LEFT JOIN Datentyp1-Schlagwort
ON (Datentyp1-Schlagwort
.Schl' at line 1
Die Abfrage muss genaui so zusammengebaut werden, da es sich hier um 10 Datentypen handelt, die per Union zusammengeschlossen werden. Aber eine einzelne Abfrage auf einen Datentyp passt schon nicht. Darf ich kein MATCH in LEFT JOINS ausführen?
Datenbankversion: 5.0.51 MyIsAM und der Fulltext-index ist auch richtig gesetzt. Wer entdeckt meinen Denkfehler?
Gruß Bobby
--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)