anraubern
Goto Top

Mit SQL in einem Record zählen

Hallo zusammen,
seit Tagen grübel eich über ein Problem. Auch bei Google konnte ich nicht passendes finden. Vielleicht hat ja von Euch jemand die passende Idee.
Folgende Problematik:
Ich habe eine Tabelle mit 8 Spalten. In Spalte A steht eine eindeutige ID die restlichen Spalten können verschiedene INT Werte haben. Nun möchte ich für jeden Record ermitteln wie viele Werte grösser als 0 sind.
Als Beispiel:
Spalte: A B C D E F G (Auswertung)
Werte: 0 7 5 0 0 7 3
5 0 0 0 3 5 3
8 8 2 3 7 0 5


Ich hoffe Ihr habe verstanden was ich meine.
Wenn möglich möchte ich auf den Einsatz eines Cursor verzichten. Am liebsten wäre es mir, wenn diese Auswertung mit einem einzigen Statement lösbar wäre.

Beste Grüsse
Andreas

Content-ID: 117368

Url: https://administrator.de/contentid/117368

Ausgedruckt am: 20.11.2024 um 07:11 Uhr

filippg
filippg 03.06.2009 um 14:10:21 Uhr
Goto Top
Hallo,

was denn für ein DBMS? Bei MS SQL: wenn die Spaltenanzahl immer gleich ist, kannst du eine Function (nicht Stored Procedure!) verwenden. Diese bekommt alle Spalten übergeben, zählt dann und gibt den Wert zurück. Im Query rufst du die Funktion auf und übergibst die Spalten...

Gruß

Filipp
anraubern
anraubern 03.06.2009 um 14:27:30 Uhr
Goto Top
Hallo Filipp,
Ja, es ist MS SQL muss später nach MySQL portiert werden...
Die Idee mit der Function ist wirklich prima! Das werde ich gleich mal ausprobieren.

Schon mal Besten Dank für den Tipp!

Gruss
Andreas

Nachtrag: Ich habe es jetzt mal mit der function versucht. Es hat prima geklappt! Noch einmal vielen Dank für den Tipp