Mehrere MSSQL Spalten in eine Spalte mit PHP selectieren
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.
mfG
Helmut
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.
mfG
Helmut
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44707
Url: https://administrator.de/forum/mehrere-mssql-spalten-in-eine-spalte-mit-php-selectieren-44707.html
Ausgedruckt am: 12.04.2025 um 16:04 Uhr
5 Kommentare
Neuester Kommentar
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.
-oder alternativ-
b) Wenn Spalte1 und Spalte2 Textfelder sind und Spalte2 genommen werden soll, falls Spalte1 leer/NULL ist
-oder alternativ-
c) Wenn es alles ein wenig länger dauert, weil der Sachverhalt komplexer ist, dann
... usw... Varianten d) bis xyz) sind denkbar, aber kaum auf so abstrakter Ebene machbar.
Zugriff dann meinetwegen mit "Select * from WasDieSehenSollen".
Gruß
Biber
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.
CREATE VIEW WasDieSehenSollen as
Select Spalte1 + Spalte2 as SpalteA,
Spalte3 as SpalteB
FROM Tabelle
b) Wenn Spalte1 und Spalte2 Textfelder sind und Spalte2 genommen werden soll, falls Spalte1 leer/NULL ist
CREATE VIEW WasDieSehenSollen as
Select Coalesce(Spalte1, Spalte2) as SpalteA,
Spalte3 as SpalteB
FROM Tabelle
c) Wenn es alles ein wenig länger dauert, weil der Sachverhalt komplexer ist, dann
CREATE VIEW WasDieSehenSollen as
Select
(case when Spalte1 IS NULL and Spalte2 IS NOT NULL Spalte2
when Spalte2 IS NULL and Spalte1 IS NOT NULL Spalte1
when Spalte2 IS NULL and Spalte1 IS NULL 'keine Daten'
else Spalte1 +Spalte2 ) als SpalteA,
Spalte3 as SpalteB
FROM Tabelle
Zugriff dann meinetwegen mit "Select * from WasDieSehenSollen".
Gruß
Biber
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
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