# MySQL - Select mit left join und Limit?!



## Loki2 (12. Juli 2007)

Hallo

Ich habe zwei Tabellen auf die ich eine Abfrage mit einem left join mache. Das funktioniert auch soweit wunderbar. Mein Problem ist allerdings das ich ein Limit in der Query benötige und ich nicht weiss wie ich das mache.

In der Tabelle "main" stehen sozusagen die Hauptdaten drin und in der Tabelle "props" zusätzliche Informationen. Beide Tabellen haben die Spalte "rowid". In "main" kommt jede rowid nur EINMAL vor während in props die rowid öfters vorkommt. Die Daten sind quasi über die rowid verknüpft. Also alle Properties zu dem Datensatz mit der rowid 1 in main stehen in der Tabelle "props" die ebenfalls die rowid 1 haben. Ich hoffe das ist erstmal klar soweit.

Mein Problem ist jetzt das ich bei meinem Select Statement ein Limit von 50 haben möchte. Genau genommen ein Limit von 50 VERSCHIEDENEN rowid's. Mein Select so wie es jetzt ist liefert mir halt zum Beispiel 10 mal row id 1, 5 mal rowid 2 usw. so komme ich halt ziemlich schnell auf 50 Datensätze aber eben nicht auf 50 verschiedene sondern nur auf ein paar wenige mit den vielen Propertiedatensätzen dazu. Ein group by geht auch nicht da ich alle Propertiedatensätze benötige.

Vielleicht gibt es die Möglichkeit das Limit erst nur auf "main" anzuwenden und dann zu diesen 50 Datensätzen mit dem Join die entsprechenden Daten aus "props" zu holen? 

Ich habe leider noch keine vernünftige Lösung gefunden und verzweifel langsam daran.

Kann mir hier jemand weiterhelfen?

Vielen Dank schonmal.

Gruß und so
Loki2


----------



## lmarkus31 (17. Juli 2007)

Hallo Loki,

eventuell kannst du dein Problem folgendermassen lösen:


```
SELECT * FROM
  (select * FROM main LIMIT 50) m 
   LEFT OUTER JOIN props p 
   ON (m.id = p.id)
```

Markus


----------

