Sam: "Summierung" von Bits in select

Hallo Forum!

Ich möchte eine Datenbank-Abfrage (SQL Server) machen, ähnlich
select pn, SUM(myBits) from tabelle group by pn
allerdings enthält die zu "summierende" Spalte jeweils ein Bitmuster.
Das heißt, die Rechenoperation wäre eine Bitverknüpfung anstatt einer Addition.

Also z.B.

pn | myBits
 1  |   2
 1  |   2
 1  |   8
 1  |   3

Ergebnis für pn=1 wäre hier 11.

Versteht ihr, was ich meine?
Wie kann ich das selektieren?

LG, Sam

  1. Hallo,

    Wie kann ich das selektieren?

    Wenn du dich auf Microsoft SQL Server 2005 beziehst ... dann mit einem User-Defined-Aggregate. Oder mit einem Cursor. Mir ist da keine native Aggregatsfunktion für Bitmasken bekannt. (Bzw. ich hab noch nie eine gebraucht).

    Ciao, Frank

  2. Hallo,

    Ich möchte eine Datenbank-Abfrage (SQL Server) machen, ähnlich
    select pn, SUM(myBits) from tabelle group by pn
    allerdings enthält die zu "summierende" Spalte jeweils ein Bitmuster.
    Das heißt, die Rechenoperation wäre eine Bitverknüpfung anstatt einer Addition.

    pn | myBits
    1  |   2
    1  |   2
    1  |   8
    1  |   3

    Ergebnis für pn=1 wäre hier 11.

    siehe </archiv/2008/12/t180195/#m1189981>.
    Mir ist nicht bekannt, dass der MS SQL-Server eine solche Aggregatsfunktion unterstützt (kenne ich auch nicht von anderen DBMS).

    Freundliche Grüße

    Vinzenz