Announcement

Collapse
No announcement yet.

join mit beschränkter auswahl oder subselect

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

  • join mit beschränkter auswahl oder subselect

    hallo meine Freunde

    ich habe ein großes Problem mit 2 mittelgroßen Tabellen.

    Folgendes habe ich vor:

    t1 hat die columns id,nr,name,produkt,time und t2 hat id,nr,name,produkt,time und noch ein paar andere Werte


    1. Jetzt will ich gerne alle Eintrag in t1 in einem bestimmten Zeitraum, der einen Eintrag in t2 enthält auch in einem anderen bestimmten Zeitraum(Eintrag heißt dass nr und name gleich sind) zurückkriegen.

    Ich hab mit left join etwas rumgespielt.

    Z.B
    Code:
    SELECT * FROM t1 LEFT JOIN t2 On (t1.nr 0 t2.nr aND t1.name = t2.name)
    WHERE t1.time > '2008-07-09 00:00:00 AND t2.time > 2008-07-09 05:00:00
    jedoch erhalte ich so mehr werte als ich will ,wenn für einen Eintrag mehr t2 Werte als t1 Werte vorhanden sind.

    dann habe ich mit GROUP BY t1.nr,t1.name dies begrenzt

    Jedoch braucht diese abfrage jetzt in der Form ca 5 minuten, da die Anfrage ca. alle 10 min ausgeführt wird, ist das so leider nicht tragbar

    ich habe dnan mal zum Test die Zeiten hoch getan,jedoch ist die laufzeit fast gleich.

    Gibt es denn eine klügere Methode die Anfrage auszuführen.

    Einziges Ziel ist es:

    Das was ich unter 1. beschrieben habe

    Freue mich auf euere hilfe, bin hier echt am Verzweifeln

    Dankeschön

  • #2
    Hallo,

    eine etwas präzisere Aufgabenstellung wäre hier wohl angebracht. Z.B.: Was ist der eine Zeitraum und was der andere? Vielleicht machst Du noch ein Datenbeispiel mit dem gewünschten Ergebnis.

    Gruß
    docendo discimus

    Comment

    Working...
    X