2009-07-31 10 views
0

Ich habe eine Tabelle mit Frage-ID, Nominierten und vote_count. In dem die Werte für question_id und nominees aus anderen Tabellen mit vote_count als Null gefüllt werden.Id-Feld mit Namensfeld verbinden

Wenn die Benutzer einige Kandidaten auswählen, sollte die Anzahl der Stimmen um eins erhöht werden. Das Problem ist, wie man die Frage-ID und die Nominierten wie folgt verbindet, für diese Frage-ID wird dieser Kandidat ausgewählt.

können einige ein Beispiel für diese Situation geben ..

Antwort

0

ich auf diesem Szenario basiert beantworten werde:

So haben Sie ein ...

1) Benutzer

wer kann ...

2) Abstimmen

für eine ...

3) Nominee

Und es ist eine Tatsache, dass viele Benutzer für VIELE Kandidaten abstimmen.

Sie haben wahrscheinlich schon tblUser und tblNominee - Sie benötigen also eine Linktabelle, die die Stimmen enthalten kann (tblUserNomineeVote).

tblUserNomineeVote hat Felder für UserId und NomineeId und registriert daher eine Abstimmung. Sie müssen möglicherweise Einschränkungen hinzufügen, je nachdem wie viele Stimmen ein Benutzer registrieren usw.

Sie können dann mit:

SELECT 
    tblNominee.Name, 
    COUNT(*) 
FROM 
    tblNominee 
INNER JOIN 
    tblUserNomineeVote ON tblUserNomnieeVote.NomineeId = tblNominee.NomineeId 
GROUP BY 
    tblNominee.Name 
+0

Danke für die Antwort Sohnee .. – sts