Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

SQL: Spalten abhängig abfragen und zeilenweise ausgeben

Hier werden die SQL Grundlagen behandelt...

SQL: Spalten abhängig abfragen und zeilenweise ausgeben

Beitragvon ericg89 » Do 30. Jul 2015, 08:50

Hallo,
folgende Aufgabenstellung und erstmal keine Idee wie sowas zu lösen ist. Bin mir nicht sicher, ob hier eventuell die Funktion eines Cursors hilft oder Arrays, wüsste aber auch nicht wie diese einzusetzen sind.

Umgebung ist Sybase. Beispielcode für MS SQL würde mir aber auch schon helfen.
Ich habe ein Tabelle „Muster“ in der folgenden Form, nur mit deutlich mehr Datensätzen versteht sich.
ID | Session | NumValue | StringValue | ValueName
1 | 120 | 4 | NULL | Variable 1
1 | 120 | NULL | “ok” | Variable 2
2 | 50 | NULL | “nein” | Variable 2
3 | 70 | 6 | NULL | Variable 3
Ich bräuchte das ganze aber in der folgenden Form =>
ID | Session | Variable1 | Variable 2 | Variable 3
1 | 120 | 4 | "ok" | NULL
2 | 50 | NULL | “nein” | NULL
3 | 70 | NULL | NULL | 6
Ich könnte das ganze zwar mit Muster 1 join Muster 2 on 1.ID=2.ID and 2.ValueName=Variable2 und das für jede vorkommende Ausprägung von ValueName wiederholen, aber das kann doch angesichts von Performance und Aufwand nicht die Lösung sein oder?
Warum? Ich brauche am Ende einen CSV-Export in der Form [ID];[Session];[Variable1]; … usw.
Danke für eure Unterstützung!
ericg89
 
Beiträge: 1
Registriert: Do 30. Jul 2015, 08:46

Re: SQL: Spalten abhängig abfragen und zeilenweise ausgeben

Beitragvon RainerH » Do 6. Aug 2015, 07:58

Hallo ericg89,

von wie vielen Datensätzen reden wir denn?
Ein Join ist immer eleganter als ein Cursor ;)

Gruß,
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 221
Registriert: Fr 1. Nov 2013, 17:58

Re: SQL: Spalten abhängig abfragen und zeilenweise ausgeben

Beitragvon Mike91 » So 16. Aug 2015, 09:55

Hallo,

sorry, dass ich kurz dazwischen funke :D :D :D

Aber warum ist bei großen Datenmengen ein Cursor im Nachteil?

Das würde ich gerne mal wissen, habe aber leider bisher keine saubere Antwort bekommen.

Gruß,
Mike
Mike91
 
Beiträge: 45
Registriert: So 3. Nov 2013, 10:32

Re: SQL: Spalten abhängig abfragen und zeilenweise ausgeben

Beitragvon Yellow » Mo 17. Aug 2015, 18:09

[offtopic]
Mike91 hat geschrieben:Aber warum ist bei großen Datenmengen ein Cursor im Nachteil?

Sql ist von Haus aus mengenorientiert. Ein Cursor ist dann gut wenn Zeile für Zeile verarbeitet werden soll und sich mengenbasierte Operationen nicht anwenden lassen. Das ist aber meistens nicht der Fall.

Ein schon etwas älterer Artikel hierzu:
http://blogs.msdn.com/b/sqlprogrammability/archive/2008/03/18/increase-your-sql-server-performance-by-replacing-cursors-with-set-operations.aspx

-yellow
[/offtopic]
Yellow
 
Beiträge: 77
Registriert: Do 8. Mai 2014, 16:46


Zurück zu SQL Grundlagen

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: