Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Tabelle geteilt, Fremdschlüssel nachtragen

Alles zur Datenbankentwicklung im MySQL-Umfeld...

Tabelle geteilt, Fremdschlüssel nachtragen

Beitragvon Zizzle » Do 4. Okt 2018, 10:42

Hallo zusammen,

ich stehe vor einem Problem und hoffe, dass mir jemand helfen kann. Und zwar geht's um folgendes - ich bin gerade dabei eine riesige Tabelle aufzuteilen in mehrere Teiltabellen. Um sich das ganze besser vorstellen zu können folgendes Beispiel:
Tabelle "Groß" hat folgende Felder: "KleinID", "Hersteller", "Modell" - in "Hersteller" und "Modell" steht jedoch oftmals dasselbe Gerät, ich würde daher gerne diese Felder per Fremdschlüssel mit einer neu erstellten Teiltabelle verknüpfen um anschließend die beiden Felder aus der Großen Tabelle entfernen zu können.
Tabelle "Klein" hat daher folgende Felder "ID", "Hersteller", "Produkt" - ich habe per INSERT-SELECT alle einzigartigen Hersteller-Produktkombinationen in der Tabelle eingefügt sodass jede Kombination per ID verknüpfbar ist.

Jetzt muss ich aber in der Tabelle "Groß" das Feld "KleinID" mit der jeweils zugehörigen "ID" der Tabelle "Klein" befüllen.

Habe folgenden Ansatz
Code: Alles auswählen
UPDATE Groß SET KleinID = (SELECT Klein.ID FROM Klein,Groß WHERE Klein.Hersteller = Groß.Hersteller AND Klein.modell = Groß.Modell)

Bekomme aber die folgende Fehlermeldung:
Code: Alles auswählen
#1242 - Unterabfrage lieferte mehr als einen Datensatz zurück


Hoffe es wird klar, was ich vorhabe - wäre über jede Hilfe dankbar.

Viele Grüße & Danke
Zizzle
 
Beiträge: 2
Registriert: Do 4. Okt 2018, 10:29

Re: Tabelle geteilt, Fremdschlüssel nachtragen

Beitragvon Zizzle » Do 4. Okt 2018, 13:27

Hab es hinbekommen, zwecks Dokumentation und für alle die ein Ähnliches Problem haben hier die (eigentlich ziemlich einfache) Lösung:
Code: Alles auswählen
UPDATE Groß a, Klein b SET a.KleinID = b.ID WHERE B.Hersteller = A.Hersteller AND B.modell = A.Modell


Viele Grüße
Zizzle
 
Beiträge: 2
Registriert: Do 4. Okt 2018, 10:29


Zurück zu MySQL

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: