Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL - Spalten sortieren bzw. Reihenfolge ändern

Frage Entwicklung Datenbanken

Mitglied: Eisbrecherin

Eisbrecherin (Level 1) - Jetzt verbinden

14.04.2014, aktualisiert 17:22 Uhr, 3729 Aufrufe, 2 Kommentare

Hallo zusammen,

ich habe eine SQL Tabelle mit unter anderem folgenden Spalten:
NoteID, tmpNote1, tmpDim1, tmpNote2, tmpDim2, tmpNote3, tmpDim3, tmpNote4, tmpDim4, Note1, Note2, Note3, Note4

In NoteID sind vier Werte hinterlegt:
D Ist Produkt Werk

Diese Werte geben an, welchen Dimensionen ein Eintrag zugeordnet ist. Insgesamt gibt es hier vier Stück. Die werden in einzelne Spalten aufgeteilt:
tmpNote1 = D
tmpNote2 = Ist
tmpNote3 = Produkt
tmpNote4 = Werk

Dummerweise sind die Werte in der Spalte NoteID alphabetisch geordnet. Es kann also sein, dass Dimension 3 an erster Stelle steht und Dimension 1 an letzter. Welche Dimension es ist, ist in einer extra Spalte gespeichert:
tmpDim1 = 3
tmpDim2 = 1
tmpDim3 = 4
tmpDim4 = 2

Ich möchte das ganze jetzt sortieren und in die Spalten Note1, Note2, Note3 und Note4 einfügen.
Note1 = Ist
Note2 = Werk
Note3 = D
Note4 = Produkt

So bekomme ich überall dieselbe Reihenfolge und kann das später besser sortieren und darstellen.

Ich habe das mal in Excel zusammengetippt, so wird es hoffentlich etwas verständlicher.
148d46e839e5b4529c353258b07462c6 - Klicke auf das Bild, um es zu vergrößern

Das Problem an der Sache ist, ich habe nur SQL zur Verfügung. Es muss also irgendwie mit einem SQL Script funktionieren. Ich habe es probiert mit einem UPDATE Befehl, der über CASE WHEN abfragt, welche Dimension vorhanden ist. Allerdings bekomme ich dann dieselbe Dimension in jeden Datensatz eingetragen. Auch mit JOIN bin ich nicht weiter gekommen. Im Einsatz ist der MS SQL Server 2012.

Funktioniert sowas in SQL überhaupt? Wäre super, wenn mir jemand weiterhelfen könnte
Danke schon mal im Voraus!


Viele Grüße
Ines
Mitglied: MadMax
LÖSUNG 14.04.2014, aktualisiert um 17:22 Uhr
Hallo Ines,

ich frag mal lieber nicht, für was man sowas braucht. Mit SQL kann man das jedenfalls machen und mit case warst Du auch gut gelegen:
01.
update	Tabelle 
02.
set	Note1 = case when tmpDim1 = 1 then tmpNote1 when tmpDim2 = 1 then tmpNote2 when tmpDim3 = 1 then tmpNote3 when tmpDim4 = 1 then tmpNote4 else '' end, 
03.
	Note2 = case when tmpDim1 = 2 then tmpNote1 when tmpDim2 = 2 then tmpNote2 when tmpDim3 = 2 then tmpNote3 when tmpDim4 = 2 then tmpNote4 else '' end, 
04.
	Note3 = case when tmpDim1 = 3 then tmpNote1 when tmpDim2 = 3 then tmpNote2 when tmpDim3 = 3 then tmpNote3 when tmpDim4 = 3 then tmpNote4 else '' end, 
05.
	Note4 = case when tmpDim1 = 4 then tmpNote1 when tmpDim2 = 4 then tmpNote2 when tmpDim3 = 4 then tmpNote3 when tmpDim4 = 4 then tmpNote4 else '' end
Gruß, Mad Max
Bitte warten ..
Mitglied: Eisbrecherin
14.04.2014 um 17:22 Uhr
Hallo Mad Max,

ich hab bis vor kurzem auch nicht geglaubt, dass man sowas wirklich brauchen kann...
Und perfekt, es funktioniert! Vielen Dank!


Viele Grüße
Ines
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst SQL-Dateien sortieren, kombinieren und filtern (6)

Frage von derapfelsaft zum Thema Datenbanken ...

Datenbanken
gelöst T-SQL: Inhalt verschiedener Spalten in eine Spalte schreiben (2)

Frage von Suilven zum Thema Datenbanken ...

Datenbanken
MS Access - SQL Datenbank - Alle SPalten werden mit GELÖSCHT angezeigt (1)

Frage von harald.schmidt zum Thema Datenbanken ...

Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...