• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Join-Befehl

Status
Für weitere Antworten geschlossen.

Grandmaster

Mitglied
Hallo,

ich teste auf dieser Seite: http://inf-schule-db.cs.uni-kl.de/SQLgbuch1.php

herum. Nun möchte ich die Tabelle bild mit der Tabelle benutzer miteinander verknüpfen. Ich habe es mir ungefähr so gedacht:
SELECT benutzer.Name, benutzer.Vorname, benutzer.HausNr, bild.*
FROM benutzer, bild
WHERE benutzer.Vorname = bild.Nutzer

Das Problem ist, dass der "Nutzer" aus Vorname und Name aus benutzer besteht.... wie mache ich das nun.

Ps: Das ist die beste Lösung, die ich bisher habe...

Blicke in dieser Datenbank nicht ganz durch.

Wollte eigentlich über die Schlüsselattribute verknüpfen aber funktioniert nicht so.... blicke wirklich nicht durch

Danke!
 
Werbung:
Du hast in der Tabelle bild den Nutzer komplett mit Vor- und Nachname stehen? Wenn ja, dann ist das Quatsch hoch 9. Informiere dich bitte über Normalisierung, denn in der Tabelle bild gehört nur die ID aus Tabelle benutzer und nicht der vollständige Name
 
Ich weiß. Was ist aber die ID aus Tabelle benutzer? Kannst du dir bitte die Tabellen angucken? Vielleicht verstehst du denn was ich meine
 
Werbung:
Tabelle Benutzer

ID Name Vorname Strasse PLZ Ort

Tabelle Bild

ID Dateiname ID_Aus_Tabelle_Benutzer
 
Danke! Jetzt stellt sich die Frage wie man das mit dem Join-Befehl hinkriegt bei so vielen werten...

EDIT: Ich verstehe es wirklich nicht. In meiner datenbank habe ichs ganz anders gemacht also mit der ID aber muss es an diesem Beispiel erklären können..
 
Hallo,

ich teste auf dieser Seite: http://inf-schule-db.cs.uni-kl.de/SQLgbuch1.php

herum. Nun möchte ich die Tabelle bild mit der Tabelle benutzer miteinander verknüpfen. Ich habe es mir ungefähr so gedacht:
SELECT benutzer.Name, benutzer.Vorname, benutzer.HausNr, bild.*
FROM benutzer, bild
WHERE benutzer.Vorname = bild.Nutzer

Das Problem ist, dass der "Nutzer" aus Vorname und Name aus benutzer besteht.... wie mache ich das nun.

Ps: Das ist die beste Lösung, die ich bisher habe...

Blicke in dieser Datenbank nicht ganz durch.

Wollte eigentlich über die Schlüsselattribute verknüpfen aber funktioniert nicht so.... blicke wirklich nicht durch

Danke!

Ich vermute mal du willst den Namen des Benutzers zum Bild?

Code:
SELECT
  i.*, u.Vorname, u.Nachname
FROM
  bilder AS i
LEFT JOIN 
  benutzer AS u ON (i.benutzer_id = u.id)
 
Werbung:
Ich vermute mal du willst den Namen des Benutzers zum Bild?

Code:
SELECT
  i.*, u.Vorname, u.Nachname
FROM
  bilder AS i
LEFT JOIN
  benutzer AS u ON (i.benutzer_id = u.id)

Funktioniert leider nicht :/,

Anfrage fehlgeschlagen: Table 'gbuch1.bilder' doesn't exist

Dennoch danke!

Nochmal zur Erinnerung;

Ich veruche grade die Tabelle bild und benutzer zu verknüpfen, was mir leider nicht so gelingt, auf dieser Seite: http://inf-schule-db.cs.uni-kl.de/SQLgbuch1.php
 
Funktioniert leider nicht :/,

Anfrage fehlgeschlagen: Table 'gbuch1.bilder' doesn't exist

Dennoch danke!

Nochmal zur Erinnerung;

Ich veruche grade die Tabelle bild und benutzer zu verknüpfen, was mir leider nicht so gelingt, auf dieser Seite: http://inf-schule-db.cs.uni-kl.de/SQLgbuch1.php

Ein bisschen mitdenken würde nicht schaden, statt "bilder" eben "bild" verwenden...
Aber ohne Eigenleistung wird auch das wahrscheinlich nicht funktionieren...
 
Habs erst jetzt gesehen. Habe nochmal draufgeguckt. Habe Nachname in Name umgeändert. Funktioniert leider auch nicht. Woher nimmst du dir benutzer_ID die ist ja in der Tabelle nicht mal angegeben.
 
Werbung:
Habs erst jetzt gesehen. Habe nochmal draufgeguckt. Habe Nachname in Name umgeändert. Funktioniert leider auch nicht. Woher nimmst du dir benutzer_ID die ist ja in der Tabelle nicht mal angegeben.

Habe mir jetzt den Link angesehen - und bin mir nicht wirklich sicher ob da nun Absicht oder reine Dummheit dahintersteckt. Völlig absurd.

Ist das eine Programming Challenge?
Das wäre nämlich die einzige Erklärung für so ein realitätsfremdes Schema.

Normalerweise hat jede Tabelle eine eindeutige ID und wird darüber mit anderen Tabellen verknüpft.

Am besten du vergisst schleunigst wieder was du hier "lernst", hier jedoch trotzdem ein Lösungsansatz:
Code:
SELECT
  i.Name, u.Vorname, u.Name
FROM
  bild AS i
LEFT JOIN
  benutzer AS u ON i.Nutzer = CONCAT(u.Vorname, ' ', u.Name)
 
Nein, bdt600, Das verstehst du völlig falsch. Ich muss ein Vortrag halten, dass ich leider nicht bezogen auf mein Datenmodell halten darf! Ich habe diesen Link bekommen. Hier muss ich den Join-Befehl erklären, aber ich versteh dieses ganze Schema nicht. Das hat mich ja auch verwirrt, dass keine ID in der Tabelle eingefügt wurden ist. Das war mein Problem! Deshalb blicke ich auch nicht ganz durch! Auf meine Datenbank bezogen, könnte ich alles ganz leicht erklären!

Habe mir jetzt den Link angesehen - und bin mir nicht wirklich sicher ob da nun Absicht oder reine Dummheit dahintersteckt. Völlig absurd.

Ist das eine Programming Challenge?
Das wäre nämlich die einzige Erklärung für so ein realitätsfremdes Schema.

Normalerweise hat jede Tabelle eine eindeutige ID und wird darüber mit anderen Tabellen verknüpft.

Am besten du vergisst schleunigst wieder was du hier "lernst", hier jedoch trotzdem ein Lösungsansatz:
Code:
SELECT
  i.Name, u.Vorname, u.Name
FROM
  bild AS i
LEFT JOIN
  benutzer AS u ON i.Nutzer = CONCAT(u.Vorname, ' ', u.Name)

Danke! Ich muss es auf dieser Seite leider machen :(. Kennt ihr vielleicht andere Seiten, auf denen man befehle austesten kann, die ein besseres Schema haben?
 
Zuletzt bearbeitet:
Werbung:
Hab nun eine andere Seite gefunden, auf der alles perfekt funktioniert! Habe nun alles! Sorry für die Unannehmlichkeiten!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben