Linuchs: mysql - ich sehe den Fehler nicht

Moin,

ich sehe den Syntax-Fehler nicht. Für Zeile 47 gibt's Mecker:

"Meldung:

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 'int1 ON int1.adress_id = adr1.id

WHERE tln1.termin_id = ' at line 47"

47 LEFT JOIN   bia_interessenten int1
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Teilnehmer des Festivals
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(
# remso-Teilnehmer
SELECT
 1                sort
,'VIP'            art
,adr1.id          adr_id
,adr1.firma1      adr_firma1
,adr1.funktion    adr_funktion
,adr1.vname       adr_vname
,adr1.nname       adr_nname
,adr1.ort         adr_ort_name
,adr1.bild_url    adr_bild_url
#IF ( adr1.bild_url > ' ', adr1.bild_url, int1.bild_url ) adr_bild_url
,adr1.homepage    adr_homepage
,COUNT( DISTINCT trm1.id ) anz_events

,tln2.termin_id   fst_id
,tln2.tag         fst_tag
,tln2.titel       fst_name

,ort2.land_kz     ort2_land_kz
,ort2.name        ort2_name

,''               med_titel
,''               med_url
,''               med_dauer
FROM      ( bia_festivalteilnehmer tln1
           ,bia_adressen adr1 )

# Anzahl künftige Termine
LEFT JOIN   bia_termine trm1
ON          trm1.veranstalter_id  = adr1.id
AND         trm1.tag              >= CURDATE()

# Tag und Name künftiger Festivals
LEFT JOIN   bia_festivalteilnehmer tln2
ON          tln2.teilnehmer_id = adr1.id
AND         tln2.tag          >= CURDATE()
# Ort der Festivals
LEFT JOIN   bia_orte ort2
ON          ort2.id = tln2.ort_id

# Bild als Interessent?
LEFT JOIN   bia_interessenten int1
ON          int1.adress_id        = adr1.id

WHERE       tln1.termin_id  = '18663'
AND         adr1.id         = tln1.teilnehmer_id
AND         adr1.loe_kz     = '0'
GROUP BY    adr1.id, tln2.id

) UNION (
...

Linuchs

  1. Tach!

    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 'int1

    INT1 ist ein reserviertes Wort.

    dedlfix.

    1. Moin dedlfix,

      INT1 ist ein reserviertes Wort.

      Danke, das war's.

      Linuchs

    2. Tach!

      INT1 ist ein reserviertes Wort.

      Hier noch nachgereicht, wie ich drauf kam: Ich habe mir das Statement in einen phpMyAdmin kopiert, von dem ich wusste, dass er Syntaxhervorhebung kann. Und da bemerkte ich, dass das Wort int1 anders gefärbt war als die anderen Aliasnamen. Das brachte mich auf die Idee mit dem reservierten Wort und die Dokumentation bestätigte das.

      dedlfix.