Page 1 sur 1

requête sql conditionnelle et comparaison de 2 tables

Posté : 07 janv. 2014, 01:33
par maestro1303
Bonjour à tous, meilleurs vœux pour le nouvel an!

J'ai 2 tables t1 et T2 ayant pratiquement la même structure
elles ont une clé auto-incrément
Je parcours t1 et écris éventuellement dans t2

t1(clé, indice, x1,x2,x3,...)

t2(clé, indice, x1,x2,x3,...)

Si je trouve que T1.indice=T2.indice alors

si min(t1.x1,t1.x2,t1.x3)< min(t2.x1,t2.x2,t2.x3) alors l'enregistrement est supprimé dans t2 et remplacé par son vis à vis de t1;et on passe au suivant. Sinon il n'y a pas d'écriture dans t2 et l'enregistrement est supprimé dans T1; et on passe au suivant.

Or je ne connais que les commandes SQL simples! sans structure de contrôle(pas de case, while, for, if ...) .

Est ce que quelqu'un peut m'aider à effectuer cette tâche sous Mysql 5.1.52-community-log de façon plus rapide et plus efficace.

Merci infiniment.

Re: requête sql conditionnelle et comparaison de 2 tables

Posté : 09 janv. 2014, 10:29
par moogli
salut,

deux possibilités :
- php
- sql

principe de base
select sur T1 et tu parcours le résultat.
dans le traitement du résultat tu execute une requête préparée pour savoir si l'info existe dans T2 avec tes conditions.
=> si oui update / insert T2
=> si non delete T1

en SQL tu peux utiliser une UDF (fonction utilisateur) ou une procédure stockée (à priori ce que tu doit utiliser si tu n'as pas besoin de retour).
cela t'évitera les nombreux retour réseaux entre php et mysql qui seront obligatoire en cas de solution avec php (du coup tu limite aussi un peux les possibilités de time out php, et rend la chose un poil plus performante ;) ).

@+

Re: requête sql conditionnelle et comparaison de 2 tables

Posté : 09 janv. 2014, 12:03
par maestro1303
Merci Beaucoup de cette réponse,

Justement pourriez vous m'aider à avoir des liens qui aident à bien comprendre les procédures stockées et les fonctions.

Merci beaucoup.

Re: requête sql conditionnelle et comparaison de 2 tables

Posté : 09 janv. 2014, 12:19
par moogli