J'ai 3 tables d'entrée comme:Pour calculer une nouvelle colonne avec trois tables
**Student Table**
-------------
id name
-------------
201 shiva
202 Jitendra
203 Makarand
204 Arpit
**Position Table**
-------------
id rank
-------------
203 1
201 2
202 3
204 4
**House Table**
------------------
housename id
------------------
Yellow 201
Blue 202
Red 203
Yellow 204
Il y a n-enregistrements étudiants Tableau
Je veux calculer les points (colonne) avec la formule P = somme (n + 1 - rang) * 100
** Output Table **
-------------------------------
HouseName Name Points
-------------------------------
yellow Shiva 300
Red Makarand 200
Yellow Arpit 100
J'ai écrit cette requête:
select h.housename "House Name",
s.name "Name",
(sum ((count(*) from s + 1) - p.rank)) * 100 as "Points"
from House h,Student s,Position p
where h.housename = (select s.name where s.id = h.id)
order by Points
Sample SQL Fiddle est ici: http://sqlfiddle.com/#!9/4d823/26
Je suis novice à SQL, comment puis-je obtenir cette requête correcte?
n est le nombre d'étudiants? – scaisEdge
@scaisEdge Oui, n = nombre d'élèves dans la table des élèves –
Quelles sont les relations entre les 3 tables? – scaisEdge