[MS-SQL] Spalteninhalt in zwei Abfragespalten anzeigen

suchender01

Grünschnabel
hallo zusammen,

ich brauche eure hilfe******

ich brauche werte aus einer tabelle die in einer spalte abgelegt sind.

Beispiel:

sp1 | sp2
1 | 'das ist'
2 | 'ein test'

nun benötige ich eine abfrage, die die werte aus sp2 in zwei abfragespalten anzeigt.

asp1 | asp2
das ist | ein test

ich hoffe, ihr könnt damit etwas anfangen.

vielen dank und gruß
bernd
 
Gehen tut es so, die Frage ist ob es auch schöner/besser geht:

SQL:
SELECT DISTINCT
    (SELECT sp2 FROM deine_tabelle WHERE sp1 = 1) AS asp1,
    (SELECT sp2 FROM deine_tabelle WHERE sp1 = 2) AS asp2
FROM deine_tabelle WHERE sp1 = 1 OR sp2 = 2
 
Zuletzt bearbeitet:
hallo tombe,

erst einmal VIELEN DANK für deine antwort. bin heute nicht im büro und werde das morgen gleich testen.

das ist für mich schon einmal ein stück weiter. es muss einfach nur gehen******!

an einen verschachtelten select habe ich garnicht gedacht******!

melde mich dann morgen!

gruß bernd
 
hallo zusammen,

tombe hat mir schon sehr geholfen und nun stehe ich an dem nächsten problem, wo ich nicht weiter komme! :(:(:(

habe das ganze etwas erweitern müssen.
Beispiel Tabelle1:

ROWID | ROWFD | ROWFDPOS | SCHLUESSEL | INHALT
1 | 28 | 1 | 188 | Heute
2 | 28 | 8 | 188 | und Morgen
3 | 28 | 1 | 189 | Heute

Beispiel Abfrage1:
Code:
SELECT DISTINCT ROWFD, SCHLUESSEL,
                          (SELECT     INHALT
                            FROM          TABELLE1 AS TABELL1_1
                            WHERE      (ROWFD = 28) AND (ROWFDPOS = 1)) AS GD_001,
                          (SELECT     INHALT
                            FROM          TABELLE1 AS TABELLE_2
                            WHERE      (ROWFD = 28) AND (ROWFDPOS = 8)) AS GD_002
FROM         TABELLE1
WHERE     (SCHLUESSEL = 188)

das funktioniert auch, solange ich nur einen [SCHLUESSEL] (hier 188) in der Tabelle habe.
Habe ich aber mehrere [SCHLUESSEL], dann habe ich ein problem.

Beispiel Ergebnis1:
ROWFD | SCHLUESSEL | GD_001 | GD_002
28 | 188 | Heute | und Morgen

da meine ABFRAGE1 aber von einer übergeordneten abfrage "ABFRAGE2" aufgerufen wird, bekomme ich einen fehler. der filter auf die WHERE-Klausel sollte allgemein bleiben, da ich evtl. ALLE oder einzelne daten benötige.

Beispiel Ergebnis2 (soll):
ROWFD | SCHLUESSEL | GD_001 | GD_002
28 | 188 | Heute | und Morgen
28 | 189 | Heute | Null

ich hoffe mal wieder auf eure HILFE******!

gruß bernd
 
Zuletzt bearbeitet:
SQL:
SELECT DISTINCT ROWFD, SCHLUESSEL,
(
SELECT DISTINCT INHALT
FROM TABELLE1 AS TABELL1_1
WHERE (ROWFD = 28) AND (ROWFDPOS = 1) AND SCHLUESSEL = TABELLE1.SCHLUESSEL) AS GD_001,
(
SELECT DISTINCT INHALT
FROM TABELLE1 AS TABELLE_2
WHERE (ROWFD = 28) AND (ROWFDPOS = 8) AND SCHLUESSEL = TABELLE1.SCHLUESSEL) AS GD_002
FROM TABELLE1

Bei einem kurzen Test habe ich damit das gewünschte Ergebnis bekommen.
 

Neue Beiträge

Zurück