Gerold Kumpfhuber: Tabellen verbinden!

Hallo!

Ich habe zwei Tabellen zB. Logfile Juli(id, datum, pfad, user) und Logfile August(id, datum, pfad, user) nun möchte ich mit einer Abfrage die Logs von User Huber im Juli und August auslesen. Ich möchte die Tabellen einfach untereinander verbinden ohne dem Schlüsselwort ON. Ich habe schon einen Join ausprobiert das funktioniert auch aber es dauert bei vielen Records sehr lange da hier das kartesische Pordukt gebildet wird was in diesem Fall nicht notwendig ist. Gibt es da eine einfache Lösung?

Vielen Dank
Gerold

  1. Sup!

    UNION?

    Gruesse,

    Bio

  2. Moin!

    Ich habe zwei Tabellen zB. Logfile Juli(id, datum, pfad, user) und Logfile August(id, datum, pfad, user)

    Warum trennst du die Tabellen auf? Das ist absolut mieses Datenbank-Design, mit dem du jetzt die Probleme kriegst, die du hast.

    Vernünftig wäre, nur eine einzige Tabelle zu haben und dort zusätzlich das Ordnungskriterium "Monat" als Spalte aufzunehmen. Beziehungsweise wenn schon, dann gleich ein vernünftiges Datum mit Uhrzeit als Eintrag.

    Da du die Spalte "Datum" schon drin hast, würde das also nicht mal dem Umbau der Tabelle bedeuten - sofern das Datum wirklich die komplette Zeit registriert (alles andere ist nicht wirklich sinnvoll).

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
    1. Moin!

      Ich habe zwei Tabellen zB. Logfile Juli(id, datum, pfad, user) und Logfile August(id, datum, pfad, user)

      Das war vielleicht ein nicht gutes Beispiel. Was mache ich aber wenn ich zB. durch viele Tabellen suchen will? zB. als globaler Suchbegriff wird in den Tabellen Kontakte, Pordukte, Informationnen, Glossartabelle, usw. gesucht. Das alles in eine Tabelle zu schreiben ist sicher nicht sinnvoll, da diese absolut andere Anforderungen zu erfüllen haben. Wie gehe ich da am Besten vor?

      LG
      Gerold

      1. Moin!

        Ich habe zwei Tabellen zB. Logfile Juli(id, datum, pfad, user) und Logfile August(id, datum, pfad, user)

        Das war vielleicht ein nicht gutes Beispiel. Was mache ich aber wenn ich zB. durch viele Tabellen suchen will?

        Wenn du mehrere Tabellen hast, mußt du mehrere Abfragen machen.

        UNION (sofern deine Datenbank das unterstützt) hilft dir ja nur, wenn die abgefragten Datenbankspalten identisch sind. Wenn du aber aus gutem Grund unterschiedliche Tabellen definiert hast, weil die zu speichernden Informationen unterschiedlich sind, dann gibt es keine identischen Spalten. Denn würde es diese Spalten geben, hättest du diese Daten auch in eine einzige Tabelle schreiben können. Das, was die einzelnen Tabellen unterschiedlich macht, könnte genausogut über Verknüpfungen mit der zentralen Tabelle verbunden sein.

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
        1. Lieber Sven,

          vielen Dank für Deinen Antwort. Nun ist es so wenn ich mehrer Abfragen mache, dann kann ich dies nicht in ein Recordset auslesen und somit ist es schwer möglich es in einer Tabelle anzuzeigen. Natürlich gibt es Lösungen aber mir fallen da nur sehr umständliche ein. Gibt es hier einen einfache Lösung?

          Vielen Dank und
          LG
          Georld

          1. Moin!

            vielen Dank für Deinen Antwort. Nun ist es so wenn ich mehrer Abfragen mache, dann kann ich dies nicht in ein Recordset auslesen und somit ist es schwer möglich es in einer Tabelle anzuzeigen. Natürlich gibt es Lösungen aber mir fallen da nur sehr umständliche ein. Gibt es hier einen einfache Lösung?

            Würde es eine einfache Lösung geben, würdest du sie jetzt bereits wissen.

            Lies alle Ergebnisse in ein Array ein. Das kannst du dann so ausgeben, wie du willst, vorher vielleicht auch noch sortieren.

            Ich sehe auch nicht die Problematik, die Ergebnisse auch ohne Array in _einer_ Tabelle auszugeben. Ok, das Vermischen der Zeilen, um sie irgendwie zu sortieren, ist unmöglich, aber nacheinander Ergebnisse auszugeben ist doch nicht wirklich ein Problem.

            - Sven Rautenberg

            --
            ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
            1. Lieber Sven,

              danke für Deinen Antwort.

              Ok, das Vermischen der Zeilen, um sie irgendwie zu sortieren, ist unmöglich, aber nacheinander Ergebnisse auszugeben ist doch nicht wirklich ein Problem.

              Das ist mir klar, ich verliere die Kontrolle(sortieren) der Ausgabe, aber wenns nicht anders geht dann eben so.

              LG
              Gerold