1. #1
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard SQL-Statement Tabellen joinen

    Heey Leute ..

    Brauch kurz euere Hilfe.
    Es geht darum dass ich zwei Tabellen habe:
    Tabelle A mit Attributen Name, Addresse, Kontakt
    und Tabelle B mit den Attributen Name, Adresse, Preis, Telefon

    So nun will ich die beiden joinen, aber will folgende Attribute von Tabelle A (Name, Kontakt) und folgende von Tabelle B (Name, Preis) ..
    Mit UNION habe ich es bereits versucht, aber es zeigt mir dann nur die gemeinsamen Attribute (Name) und das Attribut von der Tabelle ich vor dem UNION nenne ..

    Lg, Saad.


    E: Die Tabellen habe keinerlei Beziehung zu einander.
    Geändert von Saad (17.04.2014 um 12:44 Uhr)
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  2. #2
    Avatar von Nuebel
    Registriert seit
    23.11.2013
    Beiträge
    446
    Thanked 361 Times in 236 Posts

    Standard AW: SQL-Statement Tabellen joinen

    Code:
    SELECT A.Name, Kontakt, B.Name, Preis
    FROM A INNER JOIN B ON A.Name = B.Name
    Edit: Habe dein Edit überlesen. Wenn wirklich keine Beziehungen zu einander existiert, ist mein obiges Konstrukt nicht das Richtige für dich.

    Code:
    SELECT A.Name, A.Kontakt, B.Name, B.Preis FROM A, B
    Geändert von Nuebel (17.04.2014 um 13:10 Uhr)

  3. The Following User Says Thank You to Nuebel For This Useful Post:

    Saad (17.04.2014)

  4. #3

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: SQL-Statement Tabellen joinen

    So sehr sich der Sinn, zwei fast identische Tabellen zu verwenden, nicht erschließt, hier eine mögliche Lösung. Jedenfalls wenn ich es richtig verstehe, dass die Namen in Tabelle A und Tabelle B identisch sein sollen und dazu der Preis ausgegeben werden soll. Ungetestet am Handy geschrieben.


    SELECT a.Name, a.kontakt, b.preis FROM [Name von Tabelle A] a
    INNER JOIN [Name von Tabelle B] b ON (a.name == b.name)


    Hast du das so gemeint?



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  5. The Following User Says Thank You to xOneDirectionx For This Useful Post:

    Saad (17.04.2014)

  6. #4
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: SQL-Statement Tabellen joinen

    Nope .. die Namen sind nicht identisch :-O .. es gibt halt keine Beziehung zwischen den Tabellen.
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  7. #5
    Avatar von Nuebel
    Registriert seit
    23.11.2013
    Beiträge
    446
    Thanked 361 Times in 236 Posts

    Standard AW: SQL-Statement Tabellen joinen

    Wenn die Namen identisch sind, kannst du die INNER JOIN Variante nehmen.

  8. The Following User Says Thank You to Nuebel For This Useful Post:

    Saad (18.04.2014)

  9. #6

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: SQL-Statement Tabellen joinen

    Ach ne, dafür hat er ja bereits zwei Beispiele und auch in seinem Beitrag geschrieben, dass die Namen nicht identisch sind.

    Kannst du mir aber, sofern nötig auch per PN, ein Szenario beschreiben, für was eine solche Datenstruktur benötigt wird?



    Zitat Zitat von Nuebel Beitrag anzeigen
    Code:
    SELECT A.Name, A.Kontakt, B.Name, B.Preis FROM A, B
    Nicht ganz richtig, aber fast. So geht es nicht, da du dann zwei Identifier hast, die "Name" heißen. Richtig wäre
    SELECT A.Name as aName, A.Kontakt, B.Name as bName, B.Preis FROM A, B
    
    Geändert von xOneDirectionx (17.04.2014 um 15:09 Uhr)



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  10. The Following 2 Users Say Thank You to xOneDirectionx For This Useful Post:

    Nuebel (17.04.2014), Saad (18.04.2014)

  11. #7
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.209
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard AW: SQL-Statement Tabellen joinen

    Die Verwirrung welche hier auftritt kommt daher, dass der Threadsteller (vermutlich unabsichtlich) einen Fachbegriff falsch einsetzt. Ein JOIN steht in SQL für die Verknüpfung von mehreren Tabellen. Wenn es wie du sagst keine Beziehungen zwischen den Tabellen gibt, ist ein JOIN hier falsch. Dieser wäre nötig, wenn der Primärschlüssel der ersten Tabelle dem Fremdschlüssel der zweiten entspricht. Dies lässt sich mit einfachen Beispielen wie einer CD-Sammlung erklären:
    Die Alben eines Künstlers sollen in einer Datenbank zusammen mit Informationen über den jeweiligen Künstler gespeichert werden. Für viele wäre der erste Gedanke nun folgender:

    Tabelle Alben:

    Albumtitel Erscheinungsjahr Kuenstlername RealerName Geburtsjahr
    Männlich 2014 Samy Deluxe Samy Sorge 1977
    SchwarzWeiss 2011 Samy Deluxe Samy Sorge 1977
    Dis wo ich herkomm 2009 Samy Deluxe Samy Sorge 1977

    Man sieht direkt: Die letzten drei Spalten sind redundant. Da Redundanzen in der Informatik grundsätzlich nicht gerne gesehen sind, versucht man diese zu vermeiden. In diesem Fall durch die dritte Normalform.
    Dabei wird die Tabelle Alben aufgesplittet in zwei Tabellen:

    Tabelle Alben:

    KünstlerId Albumtitel Erscheinungsjahr
    1 Männlich 2014
    1 SchwarzWeiss 2011
    1 Dis wo ich herkomm 2009


    Tabelle Kuenstler:

    KuenstlerId Kuenstlername RealerName Geburtsjahr
    1 Samy Deluxe Samy Sorge 1977

    Die Tabelle Kuenstler besitzt nun KünstlerId als Primärschlüssel, der gleichzeitig Fremdschlüssel in der Tabelle Alben ist. Möchte man nun beispielsweise zu allen Alben von Samy Deluxe bestimmte Infos anzeigen, realisiert man dies mit einem Equal-JOIN über beide Tabellen:


    SELECT Albumtitel, Erscheinungsjahr, Kuenstlername
    FROM Kuenstler, Alben
    WHERE Kuenstler.KuenstlerId = Album.KuenstlerId
    AND Kuenstlername = "Samy Delue";

    So werden beide Tabellen miteinander verknüpft und man kann auf alle Spalten der Künstler-Tabelle zugreifen, welche vom jeweiligen Interpret stammen. Alternativ gäbe es auch noch die Möglichkeit das mittels Subselect zu lösen. Ist meiner Ansicht nach aber nicht so schön, und auch Performancemäßig in der Regel eher schlechter.
    In deinem Fall scheinst du aber gar keine JOINs zu brauchen, weil keine Verknüpfungen zwischen den Tabellen bestehen. Deswegen bitte etwas vorsichtig mit dem Begriff 'joinen' sein. Deine Tabellenstruktur ist aber echt etwas komisch. Es wäre sinnvoll wenn du genauer beschreiben würdest, welche Daten in den Tabellen gespeichert werden sollen und ggf. zu welchem Zweck du hier eine Abfrage über beide Tabellen und unter welchen Bedingungen benötigst. Vielleicht gibt es da eine bessere Lösung.


  12. The Following User Says Thank You to DMW007 For This Useful Post:

    Saad (18.04.2014)

  13. #8
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: SQL-Statement Tabellen joinen

    Naja es ist so, dass es in meiner Angabe heisst, dass ich Goods habe .. diese bestehen wiederum aus Items und Fixes Assets. Nun muss ich diese beiden Tabellen zu einer mit dem Namen Goods vereinen .. Anhand der Struktur und den Attributen und Werten der beiden Tabellen, konnte ich keine Beziehung feststellen.

    Habe es jetzt mal gelöst, indem ich nur Namen genommen habe, würde aber trotzdem gerne wissen, ob das so überhaupt geht, wenn keine Beziehungen zwischen zwei Tabellen besteht und man bestimmte Werte aus zwei Tabellen zu einer vereinen will. :-)
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

Ähnliche Themen

  1. Statement zu den Leaks
    Von DMW007 im Forum News und Ankündigungen
    Antworten: 0
    Letzter Beitrag: 17.11.2013, 17:32
  2. [HTML Tutorial] #5 - Tabellen
    Von Comu im Forum HTML
    Antworten: 0
    Letzter Beitrag: 26.07.2012, 17:39
  3. [CSS] Windows - Homeserver - wie viele können joinen?
    Von Streetview im Forum Counter Strike
    Antworten: 3
    Letzter Beitrag: 30.04.2012, 12:59
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.