Ik zit al een tijdje over een probleem te blokken. Ik heb een oplossing, maar ik heb het gevoel dat ik veel te moeilijk aan het denken ben.
Goed hier wat uitleg dan,
we hebben een tabel met 3 belangrijke kolommen (allen numbers), namelijk
ACCOUNT, ID, ROL
per account kunnen er in deze tabel meerdere entries staan. Aan een account zitten nl meerdere personen vast en elke persoon heeft een bepaalde rol binnen dat account (stuk of 30 mogelijkheden)
Wat wil ik doen.
Ik krijg een account binnen, dit account heeft een hoofdgebruiker (rol=1) en misschien een medegebruiker(rol = 2). Een hoofd of medegebruiker die inlogt op dit account a mag ook gebruik maken van een account b in de volgende gevallen
Wat ik zelf had bedacht komt ongeveer op het volgende neer (beetje pseudo code, dus let niet teveel op haakjes etc)
Dit moet toch makkelijker kunnen, maar ik zit even goed vast.
P.S. Ik kan de tabel etc niet aanpassen, daar zit ik gewoon aan vast
Goed hier wat uitleg dan,
we hebben een tabel met 3 belangrijke kolommen (allen numbers), namelijk
ACCOUNT, ID, ROL
per account kunnen er in deze tabel meerdere entries staan. Aan een account zitten nl meerdere personen vast en elke persoon heeft een bepaalde rol binnen dat account (stuk of 30 mogelijkheden)
Wat wil ik doen.
Ik krijg een account binnen, dit account heeft een hoofdgebruiker (rol=1) en misschien een medegebruiker(rol = 2). Een hoofd of medegebruiker die inlogt op dit account a mag ook gebruik maken van een account b in de volgende gevallen
- Er is alleen een hoofdgebruiker : Deze persoon mag ook van het andere account gebruik maken als hij hoofdgebruiker is van account b en er is in account b geen medegebruiker
- Er is een hoofdgebruiker en een medegebruiker: Deze persoon mag van het andere account gebruik maken als hoofdgebruiker a = hoofdgebruiker b en medegebruiker a = medegebruiker b, of als hoofdgebruiker a = medegebruiker b en medegebruiker a = hoofdgebruiker b.
Wat ik zelf had bedacht komt ongeveer op het volgende neer (beetje pseudo code, dus let niet teveel op haakjes etc)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| select distinct
ACCOUNT,
from
ACCOUNT_TABLE
where
(ROLE = 1 or ROLE = 2)
and
ID in
(
select
ID,
from
ACCOUNT_TABLE where
(ROLE = 1 or ROLE = 2)
and
ACCOUNT= :account //(invoer account)
)
and
(select
count(ACCOUNT),
from
ACCOUNT_TABLE
where
(ROLE = 1 or ROLE = 2)
and
ID in
(
select
ID,
from
ACCOUNT_TABLE
where
(ROLE = 1 or ROLE = 2)
and
ACCOUNT_REF= :account_ref //(invoer account)
)
group by account) =
(
select
count(ID),
from
ACCOUNT_TABLE
where
(ROLE = 1 or ROLE = 2)
and
ACCOUNT_REF= :account_ref //(invoer account)
) |
Dit moet toch makkelijker kunnen, maar ik zit even goed vast.
P.S. Ik kan de tabel etc niet aanpassen, daar zit ik gewoon aan vast
Windows 7 - There Haven’t Been This Many Leaks Since Watergate