Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 09/11/2007, 09h45   #1
Membre habitué
 
Inscription : mai 2002
Messages : 635
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 635
Points : 109
Points : 109
Par défaut aide pour une requête sql/plpgsql

Bonjour,

Besoin de vos avis précieux avant de faire une grosse bêtise

Voilà j'ai deux tables :

- inscrit
- geoip

La table "inscrit" comporte les champs :
- inscrit_id
- inscrit_ip
- inscrit_ip_codepays

La table "geoip" comporte les champs
- ip
- code_pays

Je voudrai votre aide pour une requête mettant à jour le champ "inscrit_ip_codepays" de la table "inscrit" avec les code_pays de la table "geoip" correspondant à chaque adresse ip de la table inscrit.

merci d'avance
viny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 10h35   #2
Membre habitué
 
Inscription : août 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 128
Points : 146
Points : 146
Si j'ai bien compris ta demande, ceci devrait faire l'affaire :

Code :
1
2
3
4
UPDATE inscrit
  SET inscrit_ip_codepays=code_pays
  FROM geopi
  WHERE inscrit_ip=ip
gleu_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 10h47   #3
Membre habitué
 
Inscription : mai 2002
Messages : 635
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 635
Points : 109
Points : 109
En fait c'est un peu plus compliqué que cela et je me suis mal exprimé...désolé

le champ inscrit_ip de la table "inscrit " est bien une adresse ip. Par contre le champ ip dans la table "geoip" est un numéro. Je dois obligatoirement faire correspondre l'adresse ip de ma table inscrit à ce numéro de la table geoip grâce à une formule ayant comme paramètre inscrit_ip que je possède et qui fonctionne très bien.

Donc si je reprends ta requête

Code :
1
2
3
4
UPDATE inscrit
  SET inscrit_ip_codepays=code_pays
  FROM geopi
  WHERE inscrit_ip=ip
Il me faudrait un truc du genre :
Code :
1
2
3
4
UPDATE inscrit
  SET inscrit_ip_codepays=code_pays
  FROM geopi
  WHERE formule(inscrit_ip)=ip
Cela fonctionnerait ?

merci
viny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 11h32   #4
Membre habitué
 
Inscription : août 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 128
Points : 146
Points : 146
oui, ça peut fonctionner.
gleu_ 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 00h41.


 
 
 
 
Partenaires

Hébergement Web