Daten von einer anderen Tabelle holen

Diskutiere mit über: Daten von einer anderen Tabelle holen im Datenbanksysteme für das Web Forum

  1. BalkonSurfer

    BalkonSurfer Thread Starter Banned

    Beiträge:
    5.164
    Zustimmungen:
    0
    Registriert seit:
    27.07.2003
    Hi.
    Ich habe eine Tabelle A in der eine Spalte "Spalte1" und eine Spalte "Spalte2" sind.
    Eintrag 1: Spalte1 = "1" und Spalte2 = "5"

    Jetzt mache ich einen query: "select Spalte2 from Tabelle where Spalte1 = "1";

    Bis dahin kein Problem. Jetzt bedeutet die "5" aber, dass damit ein Wert in Tabelle B gemeint ist.
    Tabelle B:
    Spalte1 = "5" und Spalte2 = "Auto"

    Jetzt muss ich im php - Script "Auto" zurückbekommen.

    Jetzt kann ich da das Ergebnis der ersten Abfrage ("5") nehmen und eine neue Abfrage machen: select Spalte2 from TabelleB where Spalte1="5";

    Das ist allerdings doch viel zu aufwendig, da das mindestens 200 mal in einem kleinen Script ausgeführt werden müsste (für meinen Fall)

    Gibt es eine Möglichkeit direkt bei der ersten Abfrage eine Art: Select TransformiereAusTabelleB(Spalte2) from TabelleA where Spalte1 = "1";
    zu machen?

    Das wäre praktischer.

    Danke und Gruß
     
  2. dms

    dms Gast

    Meinst Du sowas?

    select TabelleB.Spalte2 from Tabelle, TabelleB where TabelleB.Spalte1 = Tabelle.Spalte2 AND Tabelle.Spalte1="1"
     
  3. tomtom42

    tomtom42 MacUser Mitglied

    Beiträge:
    110
    Zustimmungen:
    4
    Registriert seit:
    15.04.2005
    ... oder um Tipparbeit zu sparen auch mit Abkürzungen

    select b.Spalte2 from TabelleA a, TabelleB b
    where a.Spalte1 = 1
    and a.Spalte2 = b.Spalte1;

    Gruß,
    Tom
     
  4. BalkonSurfer

    BalkonSurfer Thread Starter Banned

    Beiträge:
    5.164
    Zustimmungen:
    0
    Registriert seit:
    27.07.2003
    Ja genau! Nur leider ist mir eben aufgefallen, dass in TabelleA kein Primärschlüssel vorhanden ist, dh. sie kann so aussehen:
    Spalte1 - Spalte2
    1 - 5
    1 - 7
    1 - 9
    2 - 5
    2 - 1
    usw.

    Dh. ich muss für jedes Ergebnis von Select where Spalte 1 = "1" den ensprechenden Spalte2 Wert in den Wert aus der TabelleB konvertieren, so dass ich das Eergebniss:
    1 - TabelleB(5)
    1 - TabelleB(7)
    1 - TabelleB(9)

    =

    1 - "Auto"
    1 - "Fisch"
    1 - "Schuh"

    bekomme
     
    Zuletzt bearbeitet: 25.10.2005
  5. tomtom42

    tomtom42 MacUser Mitglied

    Beiträge:
    110
    Zustimmungen:
    4
    Registriert seit:
    15.04.2005
    Hi,

    dem SQL ist das ziemlich egal ;-)
    In deinem Beispiel wird dann das select eine Liste mit 3 Werten liefern.
    Dein weiteres Script muß also damit umgehen können, dass viele Werte als Ergebnis zurückkommen können.

    Wenn das nicht gewünscht ist, müsste man sich nochmal Gedanken dazu machen ...

    Tom
     
  6. BalkonSurfer

    BalkonSurfer Thread Starter Banned

    Beiträge:
    5.164
    Zustimmungen:
    0
    Registriert seit:
    27.07.2003
    Ach wie geil - das geht ja.
    Ich habe es vorhin im php-code ausprobiert und irgendwie Murks gemacht. Im Terminal kommt genau das zurück, was ich will :D
    Das Script kommt prima mit den mehreren Werten klar - das wollte ich ja.

    Danke euch!
     
Die Seite wird geladen...
Ähnliche Themen - Daten einer anderen Forum Datum
Datenbank Shop Daten für WordPress Webseite Datenbanksysteme für das Web 06.03.2016
mySQL Daten nebeneinander darstellen Datenbanksysteme für das Web 22.11.2010
SQL: Daten aus zwei nicht verknüpfen Tabellen auslesen Datenbanksysteme für das Web 19.02.2010
MySQL-Tabelle mit Daten aus CSV-Datei füllen? Datenbanksysteme für das Web 22.08.2009
Problem mit FTP - Daten werden nicht gefunden Datenbanksysteme für das Web 16.02.2006

Diese Seite empfehlen

Benutzerdefinierte Suche