SQL vraag

Status
Niet open voor verdere reacties.

willemr

Gebruiker
Lid geworden
14 mei 2009
Berichten
9
Hallo Iedereen,

Ik heb een vraagje, ik wil via SQL data uit 3 verschillende tabellen halen en vergelijken:

Uit tabel 1 kijk ik welke IDnr er bij een ingegeven naam past, die ID slaag ik op in id
Uit tabel 2 geef ik een RFID code in en krijg ook een ID, die slaag ik ook op in keyid

Nu zou ik in een 3e tabel moeten nakijken of de id en keyid samenhoren.

Er bestaan 2 kolommen, 1 me ID's en daarnaast met de sleutels die die ID mag hebben dus

bv:

1 1
1 2
1 3
2 2
2 3

Maar ik heb geen idee hoe ik dat moet doen.

Kan iemand mij helpen?

Alvast bedankt
 
Heb je een schema van je tabellen? Ik begrijp niet helemaal wat je probeert te doen.
 
We zijn een externe applicatie aan het bouwen op een bestaand product voor ons eindwerk.

Er zijn 3 tabellen

- USERS (met daarin de verschillende RFIDcodes en de bijhorende gebruikersID)
- KEYS (met daarin de RFIDcodes en bijhorende sleutelID)
- USERTOKEY (hierin staat welke gebruiker recht heeft op welke sleutel)

dus bv

1 1
1 2
1 3
2 1
2 3

Gebruiker 1 heeft recht op sleutel 1,2 en 3, maar gebruiker 2 alleen maar 1 en 3


Nu moet ik via LINQ to SQL zorgen dat we nakijken of de gebruiker de sleutel mag meenemen. (ik heb de keyID en de userID al uit de eerste 2 tabellen gehaald, maar hoe kan ik best de derde aanspreken?)

Ik zou liefste iets hebben in de aarde van

als userID = 1 en keyID=1 ==> uitkomst = ja
als userID = 2 en keyID=2 ==> uitkomst = nee


Willem
 
Hm, als je de userID en de keyID al hebt kun je gewoon een query doen als deze:

[sql]
SELECT *
FROM USERTOKEY
WHERE userID = [userid] AND keyID = [keyid]
[/sql]

Als die een rij teruggeeft, dan heeft de gebruiker rechten. Als die geen rij teruggeeft, dan heeft de gebruiker geen rechten.

Als je liever ja/nee of 1/0 terugkrijgt, kan dat ook, dan kun je dit gebruiken:

[sql]
SELECT IF ( EXISTS (
SELECT *
FROM USERTOKEY
WHERE userID = [userid] AND keyID = [keyid]
), "ja", "nee" ) as bestaat
[/sql]

Die geeft 1 rij terug met "ja" of "nee" erin.
 
Bedankt, maar dat krijg ik niet werken.

Dit is de code die ik al heb.

[SQL] Dim id = From i In db.TERMINALUSERs _
Where i.IDENTIFICATIONDATA = "1582A58C" _
Select i.TERMINALUSERID

Dim keyid = From k In db.KEYTAGs _
Where k.KEYTAGELECTRONICNUMBER = "003001fd" _
Select k.KEYTAGID

GridView1.DataSource = id
GridView1.DataBind()

GridView2.DataSource = keyid
GridView2.DataBind()[/SQL]
 
Hm, ben je een Stored Procedure aan het maken? Daar weet ik niet zo heel veel vanaf namelijk.
 
Het is LINQ to SQL, die gridviews zijn maar gewoon om even te kijken of hij de juiste data selecteerde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan