Tabellen verknüpfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabellen verknüpfen

    Hallo,
    ich möchte gerne Tabellen verknüpfen. D.h. es gibt in zwei unterschiedlichen Tabellen die selben Spaltennamen (hier "title") und es sollen nun alle Einträge aus beiden Tabellen wie als seien diese in einer nach den Kriterien sortiert werden.

    Code:
    SELECT title FROM news, article ORDER BY title DESC LIMIT 2
    Ich weiß, dass man Tabellen mit JOIN verknüpfen kann, aber weiß leider nicht, wie ich dies in meinem Fall nutzen könnte. Vllt. weiß ja jemand Rat für mich

  • #2
    Code:
    SELECT t1.title as title_1, t2.title as title_2 FROM news t1, article t2 ORDER BY t1.title DESC LIMIT 2
    Aber dieser JOIN ist nicht schön, kannst du die nicht irgendwie verknüpfen? Haben die durch eine ID irgendwie eine Beziehung zu einander?
    Zuletzt geändert von Benny-one; 17.07.2006, 10:33.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Benny
      Original geschrieben von Benny-one
      Code:
      SELECT t1.title as title_1, t2.title as title_2 [color=blue]FROM t1.news, t2.article[/color] ORDER BY t1.title DESC LIMIT 2
      richtiger:

      ... FROM news t1, article t2 ...

      Kommentar


      • #4
        ups, das kommt davon wenn man 3 Minuten nachdem Aufstehen schon versucht zu programmieren
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Ich glaube die Frage war eine andere. Wenn ich sie richtig verstanden hab, wäre meine Antwort:
          PHP-Code:
          ORDER BY IF(STRCMP(t1.titlet2.title) = -1t1.titlet2.title
          (ungetestet)

          Übrigens wäre z.b. ein LEFT JOIN deutlich schneller als das kartesische Produkt zu bilden und dann die "falschen" Zeilen auszusortieren. Wobei das aussortieren in den beiden Antworten gleich weggelassen wurde ...

          Kommentar


          • #6
            Es geht um folgendes Problem:

            Es gibt in der Tabelle news folgende Zeilen:
            Title
            ----
            News 1
            News 2
            News 3
            ....

            in der Tabelle article:
            Title
            -----
            Article 1
            Article 2
            ....

            Es sollen jetzt beide Tabelle wie zusammengefügt werden und dann sortiert, d.h. alsob alle "Title" untereinander stehen würden und dann soll aus allen Einträgen der beiden Tabellen sortiert werden und nur zwei ausgegeben werden.

            Ich hoffe, dass es etwas verständlich beschrieben ist.
            (Später soll nach dem Datum sortiert werden.)

            Kommentar


            • #7
              Dann lag ich mit meiner Antwort richtig.

              €: Union wäre dann evtl. auch noch interessant für dich.

              Kommentar


              • #8
                Ich habe deinen Code mal eingesetzt:

                Code:
                "SELECT title FROM news, article 
                ORDER BY IF(STRCMP(news.title, article.title) = -1, news.title, article.title)"
                Leider erhalte ich weiterhin:
                Column 'title' in field list is ambiguous
                Da ich deinen Code auch überhaupt nicht verstehen (übersteigt meine SQl Kenntnisse bei weitem) weiß ich auch nicht, wo der Fehler liegen könnte.

                Kommentar


                • #9
                  Welchen title soll SQL denn nehmen? den aus news oder den aus article?

                  SELECT news.title... bzw SELECT article.title...

                  Kommentar


                  • #10
                    Na aus beiden.

                    Ich will mal den genauen Zweck erläutern. Es sollen die 10 aktuellsten Veröffentlichungen im RSS-Feed ausgegeben werden, d.h. es soll dann aus der Tabelle news und article gemeinsam (wie eine Tabelle) die 10 aktuellsten Veröffentlichungen ausgegeben werden.

                    In beiden Tabellen stehen die selben Spalten zur Verfügung (title, time).

                    Verstehst mein problem?

                    Kommentar


                    • #11
                      Dann nimm Union!

                      Kommentar


                      • #12
                        Danke vielmals, mit Union gibts keine Probs, klappt bestens.

                        Kommentar

                        Lädt...
                        X