1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Zwei Tabellen-Inhalte zusammenfügen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Gerbyte, 8 Oktober 2018.

  1. Gerbyte

    Gerbyte Neuer Benutzer

    Hallo MySQL-Freunde,

    ich habe eine kleine Herausforderung.
    Ich selbst kenne mich nicht so gut mit Datenbank abfragen aus und möchte gerne Zwei Tabellen Inhalten zusammen fügen. Ich habe es schon mit JOINS versucht aber es Funktioniert einfach irgendwie nicht so wie ich mir das vorstelle.

    Erste Tabelle: ticket
    upload_2018-10-8_8-19-46.png

    Zweite Tabelle: queue
    upload_2018-10-8_8-20-29.png

    Ich möchte gerne das der Name aus der Tabelle queue durch die group_id in der Tabelle ticket geändert wird. So das ich nicht mehr die group_id sehe sondern denn Richtigen Namen.

    Das ganze soll nur ein SELECT befehl sein also keine Aktive Änderung an der Datenbank.

    Vielleicht kann mir hier einer helfen.

    Gruß
    Stefan
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Das erbibt keinen Sinn bzw. ist offensichtlich falsch, da sowohl name als auch group_id beide in der queue-Tabelle sind.

    Vermulich suchst Du aber etwas wie

    select ... from ticket left join queue on ticket.queue_id=queue.id ...
     
  3. Gerbyte

    Gerbyte Neuer Benutzer

    Hallo akretschmer,

    danke für deine Antwort.

    Ich möchte das es wie folgt nachher aussieht:
    upload_2018-10-8_9-31-45.png

    Also Statt diese queue_id 15 soll der Name aus der Zweiten Tabelle genommen werden.

    Gruß Stefan
     

    Anhänge:

  4. akretschmer

    akretschmer Datenbank-Guru

    ja, und was genau hindert Dich?

    Code:
    test=*# create table queue (id int primary key, name text);
    CREATE TABLE
    test=*# insert into queue values (15, 'German::Hardware');
    INSERT 0 1
    test=*# create table tickets(id int primary key, title text, queue_id int references queue);
    CREATE TABLE
    test=*# insert into tickets values (57, 'Test', 15);
    INSERT 0 1
    test=*# select t.id, t.title, q.name from tickets t left join queue q on t.queue_id=q.id;
     id | title |       name      
    ----+-------+------------------
     57 | Test  | German::Hardware
    (1 row)
    
    Deine Bilder mögen Dir gefallen, sind aber extrem unpraktisch, weil man nicht via Copy&Paste die Tabellen erstellen und befüllen kann.
     
  5. akretschmer

    akretschmer Datenbank-Guru

    im übrigen stimmt Dein gezeigtes Wunschergebniss nicht zu den erst genannten Daten.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden