Saad (17.04.2014)
-
17.04.2014, 12:41 #1
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.
-
17.04.2014, 13:06 #2
AW: SQL-Statement Tabellen joinen
Code:SELECT A.Name, Kontakt, B.Name, Preis FROM A INNER JOIN B ON A.Name = B.Name
Code:SELECT A.Name, A.Kontakt, B.Name, B.Preis FROM A, B
Geändert von Nuebel (17.04.2014 um 13:10 Uhr)
-
The Following User Says Thank You to Nuebel For This Useful Post:
-
17.04.2014, 13:09 #3
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 PostsAW: 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?
-
The Following User Says Thank You to xOneDirectionx For This Useful Post:
Saad (17.04.2014)
-
17.04.2014, 13:21 #4
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.
-
17.04.2014, 13:29 #5
AW: SQL-Statement Tabellen joinen
Wenn die Namen identisch sind, kannst du die INNER JOIN Variante nehmen.
-
The Following User Says Thank You to Nuebel For This Useful Post:
Saad (18.04.2014)
-
17.04.2014, 14:03 #6
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 PostsAW: 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?
Nicht ganz richtig, aber fast. So geht es nicht, da du dann zwei Identifier hast, die "Name" heißen. Richtig wäreSELECT 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)
-
-
17.04.2014, 22:00 #7
- Registriert seit
- 15.11.2011
- Beiträge
- 6.209
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: 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.
-
The Following User Says Thank You to DMW007 For This Useful Post:
Saad (18.04.2014)
-
18.04.2014, 09:48 #8
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
-
Statement zu den Leaks
Von DMW007 im Forum News und AnkündigungenAntworten: 0Letzter Beitrag: 17.11.2013, 17:32 -
[HTML Tutorial] #5 - Tabellen
Von Comu im Forum HTMLAntworten: 0Letzter Beitrag: 26.07.2012, 17:39 -
[CSS] Windows - Homeserver - wie viele können joinen?
Von Streetview im Forum Counter StrikeAntworten: 3Letzter Beitrag: 30.04.2012, 12:59
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.