Announcement

Collapse
No announcement yet.

Neueste Inhalte aus mehreren Tabellen auslesen

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

  • Neueste Inhalte aus mehreren Tabellen auslesen

    Hi,
    als Neuling in Sachen sql such ich hier mal Hilfe (ich wurde aus einem anderen Forum nach hier verwiesen):

    Ich habe 4 Tabellen in die nach und nach Daten eingegeben werden.
    Alle Tabellen haben als gleiche Spalten id und Uhrzeit (als datetime), andere Spanlten unterscheiden sich zwischen den Tabellen.
    Ich will die drei aktuellsten Inhalte aus allen Tabellen zusammen auslesen.

    Beispiel der Tabellen:
    t1 id, Uhrzeit, Lage
    t2 id, Uhrzeit, Titel
    t3 id, Uhrzeit, Was
    t4 id, Uhrzeit, Wer


    Ist das machbar? Wie?


    Gregor

  • #2
    Hallo Gregor,

    wenn die selektierten Spalten aus allen Tabellen jeweils den gleichen Datentyp haben, dann sollte dir eigentlich UNION weiterhelfen.

    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
      Erstmal danke für den Tipp!
      Die Spalten heissen in beiden Tabellen
      Wann
      und sind datetime.
      Ich mache die Abfrage so:
      SELECT Wann
      FROM
      Einsätze
      UNION
      SELECT Wann
      FROM
      News
      LIMIT 4
      und bekomme nur vier Einträge aus
      Einsätze.
      Ausserdem beginnt die Ausgabe mit den ältesten Einträgen, ODER BY geht irgendwie nicht...

      Gregor

      Comment


      • #4
        Originally posted by GregorG View Post
        ...und bekomme nur vier Einträge aus
        Einsätze.
        Ausserdem beginnt die Ausgabe mit den ältesten Einträgen, ODER BY geht irgendwie nicht...
        ...dann hast du die Seite vom verlinkten MySQL-Manual nicht richtig gelesen!

        To use an ORDER BY or LIMIT clause to sort or limit the entire UNION result, parenthesize the individual SELECT statements and place the ORDER BY or LIMIT after the last one. The following example uses both clauses:

        (SELECT a FROM t1 WHERE a=10 AND B=1)
        UNION
        (SELECT a FROM t2 WHERE a=11 AND B=2)
        ORDER BY a LIMIT 10;
        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


        • #5
          Ah, jetzt ja!
          Wer lesen kann, ist klar im Vorteil!!
          Jetzt bekomme ich vier Inhalte nach Aktualität aus den zwei Tabellen angezeigt.
          Da ich aus den Anzeigen Links zu den entsprechenden Inhalten machen will, muss ich jetzt noch herausfinden, aus welcher Tabelle ein Eintrag stammt.
          Gibt´s das was (googeln hilft mir grad nix - nach was soll ich denn suchen?)

          Gregor (danke bisher!!)

          Comment


          • #6
            Hallo Gregor,
            Originally posted by GregorG View Post
            ...Da ich aus den Anzeigen Links zu den entsprechenden Inhalten machen will, muss ich jetzt noch herausfinden, aus welcher Tabelle ein Eintrag stammt....
            Nichts leichter als das Du brauchst doch nur in jedem Selectteil eine entsprechende Spalte als Kennung mit ausgeben.
            Wenn ich das MySQL Bsp. mal erweitern darf:
            Code:
            (SELECT a, 't1' as tab FROM t1 WHERE a=10 AND B=1)
            UNION
            (SELECT a, 't2' FROM t2 WHERE a=11 AND B=2)
            ORDER BY a LIMIT 10;
            Jetzt hast du im resultierenden Select eine zweite Spalte "tab", in der eine Kennung für die jeweilige Tabelle enthalten ist.

            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


            • #7
              Aber sowas von Danke!!!!
              Was doch mit SELECT alles machbar ist...

              Danke nochmals, jetzt läuft die Seite.

              Gregor

              Comment

              Working...
              X