Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : bloquer sur une requete [ Archives / Problème avec une requête ] (yubi)

lundi 6 décembre 2004 à 13:54:04 | bloquer sur une requete

yubi

Salut a tous,

Le but :
Dans une table de clients (chaque client est identifie par une chaine de carateres (concatenat) composeé de plusieurs informations sur le client: 2 premieres lettre du nom de famille + 2 premieres lettre de la rue etc..) j'effectue une recherche qui me donne les doublons à partir de ces concatenats. Chaque enregistrement est associé a une date de modification. Je voudrai supprimer lenregistrement dont la date de modification est la plus ancienne.
Par exemple :
concatenat datemodif
PARU2TR 16/02/04
PARU2TR 18/03/04
On garde la deuxieme entrée et on supprime la premiere.
J'ai une partie de la requete qui me permet à partir de la table client d'obtenir tous les doublons :

SELECT [concatenat], [DateModif]
FROM rBase
WHERE [concatenat] In (SELECT [concatenat] FROM [rBase] As Tmp GROUP BY [concatenat] HAVING Count(*)>1 )
ORDER BY [concatenat];

En fait j ne connais pas la syntaxe exacte pour pouvoir comparer a l'interieur d'une meme table deux dates du meme champs....

Merci d'avanc pour votre aide.







lundi 6 décembre 2004 à 17:10:42 | Re : bloquer sur une requete

glplpmat

Réponse acceptée !
En oracle :

DELETE rBase WHERE ( concatenat, DateModif) IN
(SELECT concatenat,min(datemodif) AS datemodif FROM rBase WHERE concatenat]IN (SELECT concatenat FROM rBase As Tmp GROUP BY concatenat HAVING Count(*)>1 ))


glplpmat

mercredi 8 décembre 2004 à 12:03:02 | Re : bloquer sur une requete

yubi

REuh les gens,

Merci pour ton aide glplpmat.

En fait j'ai procede autrement puisque je ne pouvais effacer les entrées directement; il fallait d'abord que je recupere des infos dessus pour les updater par la suite.
UN deuxieme probleme se pose alors:

UPDATE rBaseDoublons AS Bd SET Bd.Téléphone = Bd2.Téléphone
WHERE ( SELECT concatenat FROM rBaseDoublons Bd2 WHERE Bd.concatenat = Bd2.concatenat AND (Bd.Clé > Bd2.Clé) AND (Bd.Téléphone IS NULL));

J'aimerai qu'il copie le num de tel. ds le champs correspondant o cas ou ce champs est vide. Donc la requete recupere lancien numero et le copie ds le champs correspondant. Le probleme est qu'il me demande de lui donner un numero o moment de lancer la requete alors qu'il doit la recuperer.

Pour un autre champs j'ai procede de la meme facon et ca marche :
UPDATE rBaseDoublons AS Bd SET Bd.[Fichier Thiot Consowin] = True
WHERE ( SELECT concatenat FROM rBaseDoublons Bd2 WHERE Bd.concatenat = Bd2.concatenat AND (Bd.Clé > Bd2.Clé) AND (Bd2.[Fichier Thiot Consowin]=True));
LA difference c'est qu'il s'agit ici d'une update dont la valleur est constante....

Comment faire pour une valeur dynamique??????
Merci d'avance



Cette discussion est classé dans : table, bloquer, client, requete, concatenat


Répondre à ce message

Sujets en rapport avec ce message

requete insert?????? [ par yubi ] plop!!rhoooo.....yé né comprend po.voila mon insert INSERT INTO rBaseDoublons ( Téléphone )SELECT [Téléphone]FROM rBaseDoublonsBisWHERE (([rBaseDoublo Requete INSERT sous ACCESS [ par Fredon88 ] J'ai une requete SQL sous ACCESS a faire je dois faire une requete d'insertion dans la table client qui contient les champs suivant: -Client_num -Clie Probleme de date [ par fatbulle ] Bonjour, Je dois selectionner dans une table les évenements qui ont lieu aujourd'hui ET les jour pb de requete Update d1 table en fonction d1 autre table [ par Bowen123 ] Bonjour,Je souhaite faire une requete de ce genreUPDATE Table1SET Table1.valeur = Table2.valeurWHERE Table2.valeur = Table2.valeur2tous ceci dans une pb avec requete mysql [ par gregfly26 ] bonjourje suis etudiant en bts info indus et mon projet bts comporte une section sql !J'ai une base de données 'surface' qui contient 2 tables : 'fabr Selectionner les lignes dont un champ apparait plusieurs fois [ par bluebird_29200 ] Bonjour a tous ! sur la table reservations client_id  |  transaction_id je cherche a faire ressortir les client_id dont le nombre d'apparitions dep Requete spéciale [ par vdbadr ] Salut tout le monde !Je suis en train de developper une base access pour etablir le profil client et je me bute à un probleme :Dans l'une de mes table une requete qui me casse la tête [ par chmouette ] Salut les gens!Mon problème est purement SQL. J'ai une table Ma Table avec des champs tels que :+-------------------------+ !            MaTable  &nbs BLOQUER DONNEES D'UNE TABLE [ par nawal59 ] SltComment fait-on pour qu'aucun utilisateur ne puisse modifier les données d'une table qur access? (sans mettre de mot de passe) requete croisement de table [ par sdisp ] Bonjour, je souhaiterais pouvoir croiser des ligne dans mon tableau, je expliques, j'ai une table de se genre: id id_suivant référence 1 3 10 2 1 1


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,28 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.