2011-05-22 6 views
1

J'ai essayé de savoir si le scénario suivant est possible, je ferai de mon mieux pour le décrire!Mise à jour automatique du champ/Champ calculé

Table - trespondent 

id, company, staff, responses 


Table - tresults 

id, q1, q2, q3, q4, q5 

Idéalement, ce que je cherche à faire est à jour automatiquement le champ responses en trespondent chaque fois qu'un id est entré dans la table tresults qui correspond à la id dans trespondent.

En effet, le champ responses donne un COUNT en cours d'exécution du nombre de réponses pour ce id en tresults.

Espérons que cela a du sens?

Répondre

0

Soit effectuer tous les inserts (et supprime) dans tresults via procédures stockées qui implémentent la logique que vous avez décrite, ou lire sur triggers in MySQL, et placer un déclencheur sur la table tresults qui «fait la magie»

+0

Merci Will A - ont en effet mis en place un déclencheur .... parfait. –

1

quand vous avez réellement besoin du nombre de réponses, faites:

SELECT count(responses) 
FROM trespondent trp 
JOIN tresults trs USING(id) 
WHERE trp.id = some-id 
+0

pourquoi cette première partie dans where clause? 'trp.id = trs.id' n'est-ce pas inutile? vous avez la jointure en utilisant l'id – Fender

+0

; -), oui c'est vrai en effet, en éditant maintenant – virtualeyes

+0

De toute évidence, pas de problème pour faire une simple collecte. Pour des raisons onéreuses je ne vais pas entrer, j'ai besoin des données dans le tableau des réponses .... Merci cependant. –

Questions connexes