Announcement

Collapse
No announcement yet.

SQL JOIN nur mit erstem datensatz

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL JOIN nur mit erstem datensatz

    hi...

    ich habe eine IBM DB2 datenbank. ist es in sql generell möglich einen join mit zu machen, wobei der join nur den ersten gefundenen datensatz betrifft?
    beispiel:
    Code:
    SELECT `tabelle1`.*,`tabelle2`.* FROM `tabelle1` LEFT JOIN `tabelle2` ON (`tabelle1`.`feld1`= `tabelle2`.`feld1`)
    dieser befehl würde mir alle datensätze von `tabelle1` so oft liefern, wie er verbindungen mit `tabelle2`findet. kann ich ihm irgendwie sagen, das er jeden datensatz aus `tabelle1` nur mit dem ersten gefundenen datensatz aus `tabelle2` joinen soll?

    so in der art:
    Code:
    SELECT `tabelle1`.*,`tabelle2`.* FROM `tabelle1` LEFT JOIN `tabelle2` ON (`tabelle1`.`feld1`= `tabelle2`.`feld1` LIMIT 1)
    PS: GROUP BY , DISTINCT kann ich nicht verwenden.

  • #2
    Hallo,
    Originally posted by H-net View Post
    ... ist es in sql generell möglich einen join mit zu machen, wobei der join nur den ersten gefundenen datensatz betrifft?... kann ich ihm irgendwie sagen, das er jeden datensatz aus `tabelle1` nur mit dem ersten gefundenen datensatz aus `tabelle2` joinen soll?
    Prinzipiell kannst du "ihm" das schon sagen, wenn auch nicht auf einen beliebigen ersten, sondern auf einen exakt bestimmten. Eine einfache Erweiterung der Join-Syntax wie LIMIT gibt es dafür jedoch nicht.
    Prinzipiell gibt es zwei Möglichkeiten:
    1. Du verwendest statt der gejointen Tabelle eine (Inline-) View, die bereits soweit eingeschränckt ist, dass sie für jede Join-Bedingung nur einen DS liefert. Oder
    2. Du schränckst die Abfrage mit einer zusätzlichen Where-Bedingung auf jeweils einen DS pro Join-Bedingung ein.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X