Inhalte ersetzen

wowachr

Neuer Benutzer
Beiträge
3
Hallo zusammen!

ich würde mich sehr freuen wenn mir jemand bei meinem SQL "Problem" kurz helfen könnte! :)
Ich lade Tabellen in folgender Form in die SQL Datenbank:

Name____Hobby
_________Fußball__Tennis___Schach__Schwimmen
Jan________ x___________________________x_____
Michael____x_________________________________
Thorsten_____________________ x_______________
Flo_____________________________________x_____
Juana___________________________________x_____

Und ich möchte gerne, dass mein Ergebnis wie folgt aussieht:

Name____Hobby
Jan______Fußball
Jan______Schwimmen
Michael__Fußball
Thorsten_Schach
....

Hat jemand eine Idee wie ich das am besten mache? Ich abreite zum ersten mal mit SQL und wollte gerne eine Lösung "außerhalb von Excel" finden... :)

Viele Grüße und vielen Dank schon im Voraus!!! :)
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
Die Hobbys sind auch gleichzeitig die Spaltennamen und im Datenformat BIT oder wie muss ich mir das vorstellen? Es gibt mehrere mehr oder weniger aufwendige Wege, sind es nur 4 Hobbys oder tatsächlich mehr?
 

wowachr

Neuer Benutzer
Beiträge
3
Hi, die Tabelle habe ich im Excel Format, habe die aber nicht geladen, sondern gleich mit in die Beschreibung ohne Anhang gepackt... (Fußball = Spalte B, Tennis = Spalte C ....) Hobbys sind bei mir in der Tabelle also die Spaltennamen und es gibt leider um die 100 solcher Spalten (sowie auch Namen)...
 

Anhänge

  • Mappe1.zip
    9,4 KB · Aufrufe: 2

ukulele

Datenbank-Guru
Beiträge
4.702
Dann hast du ja zunächst mal ein Excel Problem. Es erscheint mir nicht sinnvoll, die Daten in der selben Strukur nach SQL zu importieren um sie dann bei der Ausgabe aufwendig umzustellen.

In Excel kann man sich schnell über die VERKETTEN Funktion einen passenden INSERT Befehl für SQL basteln. Angenommen du hast in SQL die Tabelle "hobbys" mit zwei Spalten "Person" und "Hobby" als VARCHAR() angelegt. Dann kopierst neben deine Excel Tabelle in einem gleich großen Bereich die Formel
Code:
=WENN(B6="";"";VERKETTEN("INSERT INTO hobbys(person,hobby) VALUES('";$A6;"','";B$4;"');"))
hinein. Dann kopierst du alle Spalten in deinen SQL Editor und er schreibt dir alle Datensätze in deine Tabelle.
 

wowachr

Neuer Benutzer
Beiträge
3
cool! :D Danke!
ich habe gehofft, das alles direkt in SQL meistern zu können um mögliche Fehler in excel zu vermeiden, aber so schaut es schon ganz gut aus :D
 
Werbung:
Oben