RobRobson: kann den Fehler nicht finden (Distinct,Subselect)

Hallo,

ich denke meine Abfrage ist richtig aber mySQL sieht das anders:
"#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
'AND
LEFT JOIN wp_postmeta wpostmeta ON wposts.ID = wpostmeta.post_id
LEFT JOIN ' at line 7 "

SELECT DISTINCT wposts . *, wposts.ID AS this_post_id,  
(  
 SELECT meta_value  
 FROM wp_postmeta  
 WHERE post_id = this_post_id AND meta_key = 'kilometer'  
) AS the_meta  
FROM wp_posts wposts AND  
LEFT JOIN wp_postmeta wpostmeta ON wposts.ID = wpostmeta.post_id  
LEFT JOIN wp_term_relationships ON ( wposts.ID = wp_term_relationships.object_id )  
LEFT JOIN wp_term_taxonomy ON ( wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id )  
WHERE wposts.ID  
IN (  
  
SELECT post_id  
FROM wp_postmeta  
WHERE meta_key = 'kilometer'  
AND meta_value >=0  
AND meta_value <= 18.000  
)  
AND wposts.ID  
IN (  
  
SELECT post_id  
FROM wp_postmeta  
WHERE meta_key = 'leistung'  
AND meta_value >=55  
AND meta_value <=180  
)  
AND wposts.ID  
IN (  
  
SELECT post_id  
FROM wp_postmeta  
WHERE meta_key = 'preis'  
AND meta_value >=13437  
AND meta_value <=52899  
)  
AND wp_term_taxonomy.taxonomy = 'category'  
AND wp_term_taxonomy.term_id  
IN ( 131, 3 )

Angeflanscht habe ich nur den Teil:

wposts.ID AS this_post_id,  
(  
 SELECT meta_value  
 FROM wp_postmeta  
 WHERE post_id = this_post_id AND meta_key = 'kilometer'  
) AS the_meta

(Welcher für sich auch funktioniert und genau einen Wert erzeugt). Der Rest funktioniert für sich allein auch und holt alle posts die den 3 Kriteriene Kilometer/Preis/Leistung entsprechen. Nun will ich diese noch sortieren können. Dazu muss der meta_value aus der der Tabelle wp_postmeta mit dem entsprehenden Key geholt werden. Was ich mit dem snippit oben versuche. Aber den Fehler erzeugt.
Würde mich sehr freuen wenn jemand mir die Tomaten von den Augen entfernen hilft.

Danke und Grüße
Rob

Ich würde mich freuen we

  1. Hi,

    ich denke meine Abfrage ist richtig aber mySQL sieht das anders:
    "#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
    'AND
    LEFT JOIN wp_postmeta wpostmeta ON wposts.ID = wpostmeta.post_id
    LEFT JOIN ' at line 7 "

    Da gehört einfach kein AND hin …

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Ahh..
      damn! Was sucht das denn da?
      Vielen Dank :D
      Rob