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

Mehrere MSSQL Spalten in eine Spalte mit PHP selectieren

Frage Entwicklung Datenbanken

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

17.11.2006, aktualisiert 19.11.2006, 4760 Aufrufe, 5 Kommentare

Hallo,

Ich habe mal wieder ein Problem wo ich gerade nicht weiter komme.
Wahrscheinlich ist das wieder ganz einfach doch ich komme mal wieder nicht
dahinter wie es geht.

Ich habe eine MSSQL2000 Tabelle mit Verschiedenen Spalten.

Saplte1 Spalte2 Saplte3 ....

Jetzt gibt es in Spalte1 und in Spalt3 einen Wert und in Spalte 2 und in Spalte3 einen Wert.
Jetzt kann ich das mit select * from Tabelle so ausgeben:

Spalte1 Saplt2 Spalte3
Wert1 Wert3
Wert2 Wert3


Ich brauch das aber so:

Spalte? Spalte3
Wert1 Wert3
Wert2 Wert3



Geht das irgendwie???

Danke.

Mit freundlichen Grüßen
Helmut
Mitglied: Biber
17.11.2006 um 19:33 Uhr
Moin helmuthelmut2000,

natürlich kannst Du selektierte Datenbank-Felder verbinden, ergänzen, zum Teil anzeigen, berechnete Felder hinzufügen... allerdings nicht so gut, wenn Du ein "Select * from Tabelle" abfeuerst.

Du hast doch eine "echte" Datenbank . oben steht MSSQL2000.
Leg Dir VIEWS an, die Dir die gewünschten Felder anzeigen.
Direkt auf Tabellen zugreifen oder auf 1:1-Views ist ohnehin etwas ... ungewöhnlich.

Also:
a) wenn Spalte1 und Spalte2 Textfelder sind und zusammengeschraubt werden sollen.
01.
CREATE VIEW WasDieSehenSollen as 
02.
Select Spalte1 + Spalte2 as SpalteA, 
03.
Spalte3 as SpalteB 
04.
FROM Tabelle
-oder alternativ-
b) Wenn Spalte1 und Spalte2 Textfelder sind und Spalte2 genommen werden soll, falls Spalte1 leer/NULL ist
01.
CREATE VIEW WasDieSehenSollen as 
02.
Select Coalesce(Spalte1, Spalte2) as SpalteA, 
03.
Spalte3 as SpalteB 
04.
FROM Tabelle
-oder alternativ-
c) Wenn es alles ein wenig länger dauert, weil der Sachverhalt komplexer ist, dann
01.
CREATE VIEW WasDieSehenSollen as 
02.
Select  
03.
 (case when Spalte1 IS NULL  and Spalte2 IS NOT NULL Spalte2  
04.
          when Spalte2 IS NULL  and Spalte1 IS NOT NULL Spalte1 
05.
          when Spalte2 IS NULL  and Spalte1 IS NULL 'keine Daten' 
06.
 else Spalte1 +Spalte2  ) als SpalteA, 
07.
 Spalte3 as SpalteB 
08.
FROM Tabelle
... usw... Varianten d) bis xyz) sind denkbar, aber kaum auf so abstrakter Ebene machbar.

Zugriff dann meinetwegen mit "Select * from WasDieSehenSollen".

Gruß
Biber
Bitte warten ..
Mitglied: helmuthelmut2000
18.11.2006 um 22:16 Uhr
Hallo,

Super die Idee war nicht schlecht.
Ich hab das mal so Probiert und es hat auch bis auf eine Fehlermeldung
geklappt.

Ich bekomme leider beim 2 mal wenn ich die seite aufrufe die Fehlermeldung:

In der Datenbank ist bereits ein Objekt mit dem Namen 'Testspalten' vorhanden.

klar, weil er immer wieder ein Objekt mit dem Namen Testspalten machen will.
Bei mir kommen aber immer nur neue Daten hinzu.
Wie kann ich die Fehlermeldung umgehen.
Kann ich das Objekt vorher irgendwie löschen bevohr sie wieder erstellt wird?

Gruß
Helmut
Bitte warten ..
Mitglied: Biber
18.11.2006 um 23:36 Uhr
Hmmm, Helmut,

da hast Du das mit dem VIEW-Konzept etwas falsch verstanden.
Oder vielmehr, ich hab mich da wohl missverständlich ausgedrückt.

Ein VIEW ist, wie der Name sagt, eine definierte Sicht auf eine oder mehrere Tabellen.
So etwas wird einmalig angelegt und danach immer wieder benutzt - wie eine Tabelle auch.
Mit "SELECT * from viewname"

Und oben habe ich nur drei mögliche Alternativen skizzieren wollen, weil ich doch vom schönen Bremen aus nicht erkennen kann, welche vielleicht bei Dir passen könnte...

Gemeint war, dass Du Dir eine View für Deine Zwecke anlegen könntest.

Aber auch darauf kannst Du verzichten, Du kannst natürlich auch direkt mit dem oben geposteten SELECT auf Deine Tabelle zugeifen.
Lass einfach die erste Zeile "Create view viewname" weg.

Wenn Du einen VIEW wieder löschen willst, machst Du das mit dem DROP-Statement wie bei einer Tabelle auch.

Grüße
Biber
Bitte warten ..
Mitglied: helmuthelmut2000
19.11.2006 um 02:49 Uhr
Hallo,

Ja ich hatte da vorher einen Denkfehler.

Jetzt lege ich das Objekt gleich mit der Tabelle an, und dann mach ich da
nur einen select auf das Objekt.

Und jetzt gehts.

Danke.

Gruß
Helmut
Bitte warten ..
Mitglied: Biber
19.11.2006 um 02:55 Uhr
Prima, Helmut,

dann verschiebe ich den Beitrag mal von "Entwicklung" nach Datenbanken und setze ihn auf "Gelöst" und "Geschlossen".

Gruß
Biber
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...