Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 12h14   #1
Invité de passage
 
Inscription : janvier 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 2
Points : 0
Points : 0
Par défaut Comparaison champs d'une même table ?

Bonjour,

j'essaye d'écrire une requête depuis un moment et je n'arrive pas ...

En faite j'essaye d'obtenir des enregistrements d'une même table ayant subis des modifications.

Exemple :

- J'ai un champ "at_type" qui me permet de savoir si l’enregistrement est un INSERT ou UPDATE. L'enregistrement existe autant de fois qu'il y a eu des actions (donc possible qu'il existe 1 avec INSERT et trois avec UPDATE).

-Je souhaiterais savoir si mon champ1 de l'UPDATE est différent de mon champ1 de l'INSERT.


J’espère être assez clair et obtenir de l'aide ...
lucas231988 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 12h27   #2
Membre habitué
 
Avatar de tfc3146
 
Homme Robert Labrousse
Développeur décisionnel
Inscription : février 2009
Messages : 79
Détails du profil
Informations personnelles :
Nom : Homme Robert Labrousse
Localisation : France

Informations professionnelles :
Activité : Développeur décisionnel
Secteur : Boutique - Magasin

Informations forums :
Inscription : février 2009
Messages : 79
Points : 134
Points : 134
Bonjour,

Si j'ai bien compris un jeu de données pourrait être

at_type champ1

INSERT toto
UPDATE toto1
UPDATE toto2
UPDATE toto

Et quand il y a plusieurs UPDATE, lequel prenez vous en compte et sous quel critère ?
__________________
Citation:
C'est en faisant n'importe quoi qu'on devient n'importe qui
Si un message vous a aidé, n'hésitez pas à mettre +1
tfc3146 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 12h37   #3
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
ce n'est pas très clair

il faudrait indiquer la structure des tables, les intégrités; et un pt jeu de données pour expliciter ce que vous désirez

SVP
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 14h18   #4
Invité de passage
 
Inscription : janvier 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 2
Points : 0
Points : 0
bonjour,

j'ai également la date de l'action et du coup je prend le dernier update en fonction de la date (la plus récente)

id at_type champ1 at_time
23 INSERT 0 2011-04-28 14:55:48.863
23 UPDATE 0 2011-04-29 14:55:48.863
23 UPDATE 1 2011-04-30 14:55:48.863
3 INSERT 0 2011-04-28 14:55:48.863
3 UPDATE 0 2011-04-29 14:55:48.863
3 UPDATE 0 2011-04-30 14:55:48.863

En gros je voudrai qu'a ce moment là obtenir une liste avec uniquement l'id 23 puisque l'id 3 n'a pas subit de modification.

J’espère être un peu plus clair....
Merci de votre aide !
lucas231988 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 14h38   #5
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
qu'elle est la structure des tables
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 14h44   #6
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
D'après ce que j'ai compris, ça pourrait donner quelque chose comme :
Code :
1
2
3
4
5
SELECT u.id, u.at_type, u.champ1, u.at_time
FROM la_table u
INNER JOIN la_table i ON u.id = i.id AND i.at_type = 'INSERT'
WHERE u.at_type = 'UPDATE'
AND u.champ1 <> i.champ1
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h52.


 
 
 
 
Partenaires

Hébergement Web