Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 - Variable als Spaltenname?

Frage Entwicklung Datenbanken

Mitglied: filippg

filippg (Level 3) - Jetzt verbinden

20.08.2008, aktualisiert 16:03 Uhr, 13684 Aufrufe, 2 Kommentare

Hallo,

ich habe ein einem MSSQL 2005 eine Tabelle mit etlichen Spalten. Nun habe ich eine Funktion, die eine bestimmte Zeile auswählt, und von dieser den Wert einer Spalte zurückliefern soll. Der Spaltennamen wird der Funktion in einer Variable übergeben.
Ich hatte mir das so vorgestellt:
SET @943 = (SELECT @spaltenname FROM Tabelle where <Bedingungen zur Zeilenauswahl>)

Leider führt das dazu, dass nachher @943 den Wert aus @spaltenname hat (also "Spalte1" etwa), und nicht den Wert der Spalte.
Wie kann ich das ändern? Wäre für schnelle Hilfe dankbar!

Gruß

Filipp
Mitglied: SlainteMhath
20.08.2008 um 11:25 Uhr
Hi,

versuchs mal so

01.
exec 'SET @Wert=(SELECT [' + @spaltenname + '] FROM tabelle WHERE ...)'
lg,
Slainte
Bitte warten ..
Mitglied: filippg
20.08.2008 um 16:03 Uhr
Hallo,

ein solches Konstrukt habe ich schon ausprobiert, das will er nicht. Könnte von der Fehlermeldung her daran liegen, dass es eine gespeicherte Funktion ist.

Momentan habe ich es über ein CASE gelöst:
SELECT CASE @spaltenname WHEN 'abc' THEN abc WHEN 'bcd' THEN bcd END FROM...
Nicht wirklich elegant. Aber er kann zur Speicherzeit prüfen, ob die Spalten wirklich existieren.

Gruß

Filipp
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL und C-Sharp - Grid und einfache Bearbeitungsmaske (1)

Frage von Archimedes zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Dateien sortieren, kombinieren und filtern (6)

Frage von derapfelsaft zum Thema Datenbanken ...

Datenbanken
SQL restore bringt Fehler (2)

Frage von franksig zum Thema Datenbanken ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...