Announcement

Collapse
No announcement yet.

Left Join auf Select

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

  • Left Join auf Select

    Einen wunderschönen Guten Tag,

    ich habe ein kleines Geschwindigkeitsproblem mit meinem Select, vielleicht könnt ihr mir ja weiterhelfen.
    Ich schilder erstmal die Situation:
    Ich habe 3 tabellen,
    1. "tblWohnung" mit ca. 7000 Rows (Informationen zu Wohnungen)
    2. "tblAdresse" mit ca. 8000 Rows (Informationen zu Mietern)
    3. "tblMieterZuordnung" mit ca. 9000 Rows (Zuordnung der Mieter zu den Wohnungen)

    Nun möchte ich eine Liste Aller Wohnungen welche derzeit Leerstehen, da sind immer ca. 300.
    Das problem ist das ich in dieser Liste zusätzlich Informationen zum Vormieter brauche(d.h. der Mieter der zuletzt in der Wohnung gewohnt hat) und Informationen zum Nachmieter (d.h. der Mieter der bald in diese Wohnung einziehen wird, fals vorhanden).

    Die ID´s beider stehen somit in der Tabelle "tblMieterZuordnung".

    Hier mal ein Pseudocode wie ich es derzeit gelöst habe:

    Code:
     SELECT V.name,V.tel,N.name,N.tel
    FROM (((SELECT FÜR ALLE LEERSTEHENDEN WOHNUNGEN) LEFT JOIN InformationenZuDenWohnungen)
    LEFT JOIN InformationenZuDenMietern...
    LEFT JOIN SelectVormieter AS V
    LEFT JOIN SelectNachmieter AS N
    Das dauert jedoch viel zu lange, da er bei den letzten beiden Selects immer wieder alle 7000 Rows der Tabelle "tblWohnung" durchgeht, und nicht nur die 300 Leeren.
    Wie kann ich es realisieren das alle SubSelects nur über diese 300 Wohnungen des ersten Selects laufen?

    Gruß

  • #2
    Hallo,

    also ich bin ja der Meinung, dass man dafür überhaupt kein Subselect benötigt, sondern es komplett mit Joins lösen kann, aber ohne halbwegs konkrete Kenntniss wie denn deine drei Tabellen aufgebaut sind wird das nur Raterei und keine Hilfe...

    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


    • #3
      ok dann hier mal der aufbau der Tabellen

      tblWohnung
      Primary Key´s : Ve,We

      tblAdresse
      Primary Key: idAdresse

      tblMieterZuordnung
      Primary Key´s:Ve,We,Vertragsbeginn
      Foreign Key´s:Ve,We,idAdresse

      Ein Nachmieter ist jeder der ein Vertragsbeginn hat welches in der Zukunft liegt,
      und ein Vormieter ist jeder der ein Vertragsende hat welches in der vergangenheit liegt.

      Ich hoffe das hilft weiter.

      Gruß

      Comment


      • #4
        Originally posted by Nagel View Post
        ...Ich hoffe das hilft weiter.
        Ich weiß nicht welche Vorstellungen du von den hellseherischen Fähigkeiten der Leute hier hast .
        Sieh dir doch mal die Dürftigkeit deines Posts an und versuche dir diese Frage selbst zu beantworten. Die Tabellen tblWohnung und tblAdresse bestehen demnach nur aus dem Primärschlüssel (der offensichtlich auch noch zusammengesetzt ist ), während es in tblMieterZuordnung zusätzlich die Felder Ve, We und idAdresse gibt. Wofür steht Ve und We?

        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