Hi Christian,

ich habe auf das ^ hin im Internet auch noch
folgende gefunden:

&  bitweise und (zwei Operanden) 
|  bitweise oder (zwei Operanden) 
^  bitweise ausschlie�lich oder (zwei Operanden) 
~  bitweise nicht (ein Operand) 

Eine Meldung k�nnte ja f�r alle Benutzer, nur f�r die Gruppe 1
freigeschaltet sein, ein User kann auch der Gruppe 1, 2 und 3
angeh�ren.

Ich habe damit jetzt folgende Beispiel-Abfrage formuliert:

SELECT COUNT(*) FROM tbl_News WHERE (lngLevel & 8 > 0) OR (lngLevel=0)

womit ich dann alle Meldungen bekommen m��te, die u.a. f�r die
Gruppe 3 freigeschaltet wurden sowie alle �ffentlichen (Level 0).
Stimmt das so, oder �bersehe ich was ?

Ich bin sicher, dass eine indexierte n:m-Verkn�pfung eleganter und
f�r die Zukunft sicherer ist (ich habe hier ja nur max. 32 ebenen).
Allerdings wei� ich nichts �ber die Performance-Einbu�en. Wei�
da jemand was genaueres ?

Danke,
G�nter



> -----Urspr�ngliche Nachricht-----
> Von: christian marin [mailto:christian@;marin.at] 
> Gesendet: Donnerstag, 14. November 2002 18:28
> An: ActiveServerPages German
> Betreff: [aspgerman] RE: Boolsches und beim ms sql
> 
> 
> > Dabei �berlappen sich die Kundengruppen
> > nicht (also Gruppe A kann nicht Gruppe
> > B automatisch lesen), aber eine
> > Meldung kann f�r Gruppe A und B
> > freigeschaltet sein. Die Gruppen
> > sind �ber Flags definiert (also Bit
> > 1 f�r Gruppe A usw.)
> 
> also hast du irgendwo definiert
> gruppe a ..1, gruppe b ..2, ect
> das flag f�r die berechtigung setzt sich dann zusammen
> aus 2^1+2^3+.... - soweit richtig?
> 
> dann fragst du f�r zb. gruppe C (8 = 2^3) so ab
> 
> DECLARE @g int
> SET @g = 3 (oder halt als parameter holen)
> SELECT * FROM tblBla WHERE (intFlag ^ POWER(2, @g)) % 
> POWER(2, @g + 1) = 0
> 
> ^ ist das bitweise oder und modulo der n�chsth�heren 2er-potenz
> ergeben alle 0, die in der summe die 8 drinnen haben
> 
> hth, christian
> 
> 
> | [aspgerman] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp
> 


| [aspgerman] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp

Antwort per Email an