Vinzenz Mai: MySQL-5.0 2 Queries zu einer kombinieren?

Beitrag lesen

Hallo EKKi,

SELECT id FROM relationstabelle WHERE other_id IN (1,2,3,4,5)
SELECT * FROM tabelle WHERE id IN ( <ergebnis der ersten abfrage> )

Versuch's mal mit:

SELECT tabelle.* FROM tabelle JOIN relationstabelle ON tabelle.id = relationstabelle.id WHERE relationstabelle.other_id IN (1,2,3,4,5)

  
Du hast das Schlüsselwort DISTINCT vergessen :-)  
  
~~~sql
SELECT DISTINCT  -- schließlich soll jeder Datensatz nur einmal angezeigt werden  
    tabelle.*    -- SELECT * ist immer noch böse[tm]  
FROM  
    tabelle  
INNER JOIN  
    relationstabelle  
ON  
    tabelle.id = relationstabelle.id  
WHERE relationstabelle.other_id IN (1, 2, 3, 4, 5)

Am besten sollte es MySQL dem Fragenden EXPLAINen.

Freundliche Grüße

Vinzenz