Vous n'êtes pas identifié(e).
Bonjour à tous
j'ai un petit problème.
dans une table j'ai plusieurs lignes avec une colonne département,
et je veux ajouter un colonne code composé ( unique ) qui sera composé de la concaténation du code departement et d'une sequence.
par exemple
75-1
75-2
75-3
...
59-1
59-2
59-3
est il possible de le faire avec des sequences ( sans créer 90 sequences, 1e pour chaque département )
ou faut il faire appel à des fonctionnalités plus poussées
Merci d'avance
Merci pour vos retours,
@MitsuTomoe vous avez tout compris, et l'exemple est réel
@rjuju merci pour l'exemple de requête ,
LIKE '%' || tableville.ville || '%'
Pour ce cas j'ai pas vraiment de requête mais juste un exemple,
imaginons deux tables avec un champ adresse qu'on nommé Table_adrs , et une 2eme table avec les villes et leur code département, qu'on va appeler table_ville
l'objectif et d'avoir les lignes de table_adrs qui appartienne à des villes d'un département donné
-- liste des villes d'un département
select ville from table_ville where dep='75'
-- liste des adresses d'une ville par exemple 'PARIS'
select * from table_adrs where adresse like '%PARIS%'
la question est :
y a t il une (option/fonction/syntaxe) qui va permettre de combiner ces 2 requêtes en une seule
et permettre de passer le résultats de la première dans le motif de like.
j'espère que c'est mieux claire maintenant
Merci
Bonjour
svp, est ce qu'il y a une syntaxe qui permet d'utiliser la clause like avec le résultat d'une requête.
un peu comme (exemple) :
where
adresse like '% (select ville from villes where dep ='75' ) %'
pour savoir si il y a des adresses appartenant à des villes du 75
je sais pas si l'exemple est parlant ou pas, c'est le premier que mes cellule grises m'ont envoyé
Merci à vous
humm ça marche,
oups, je crois que je me suis pas encore réveillé
pourtant j'avais essayé avec un alter table alter column ...
bref, Merci beaucoup Marc
Bonjour à tous
j'ai crée une table à partir d'une requête select, tout est ok,
sauf que j'y avais ajouté un champ ( hummm) que j'ai saisie moi même,
( je crois qu'un exemple est mieux pour expliquer )
CREATE TABLE maTableDeux
AS
SELECT champ1, champ2, champ3, 'info machin' AS champ4
FROM maTableUne
le problème se pose au niveau du type du nouveau champ "champ4"
il est mis de type unknown
le problème avec ce type c'est qu'il est ... inconu ...
Savez vous s'il y a une fonction, méthode ... qui permet de le transtypé,
j'ai essayé de faire un ALTER TABLE ALTER COLUMN, mais pas possible de changer son type.
Merci à vous
merci pour la réponse,
Exact, il faut avoir le même nombre de champs et qu'ils soient de même type
EXCEPT, c'est MINUS d'oracl version PostgreSQL,
Bonjour à tous
SVP je cherche si il y a la possibilité d 'utiliser les opérateurs {UNION, INTERSECT, EXCEPT} sur plusieurs colonne
genre :
select champ1, champ2, champ3 from table1
except
select champ1, champ2, champ3 from table2
Merci à vous
------------------------------
En fait ça marche sans rien à jouter
désolé pour ce poste inutile
pgicalement Youssef
je crois que j'ai trouvé mon bonheur
ici : http://docs.postgresql.fr/9.1/fuzzystrmatch.html
par contre le problème maintenant est le UTF-8
bonjour
je cherche une fonction ( je sais pas si elle existe )
qui va permettre de comparer deux chaines et retourner une valeur de correspondance ou autre chose dans ce genre.
pas un exemple ça sera peut être plus claire :
chaine1 = 'ETAGE 1 DROIT ENTREE A'
chaine2 = 'ETAGE 2 ENTREE A'
un = ou un like retourneta certainement false dans ce cas
mais on peut bien deviner qu'il s'agit d'une même adresse.
je crois que le terme le plus proche pour décrire la fonction est : permettre une comparaison sémantique ( le terme à la mode quoi ) de deux chaînes
Merci à tous
oups, j'ai dis une connerie,
il faut avoir une version 5.2 ou plus ancienne
à partir de la 5.3 dbf n y est plus par défaut
merci gleu pour ta réponse,
comme j'en avais plus d'une trentaine de fichier dbf,
j'ai crée un script php qui va lire directement dans les pdfs et insérer dans ma table postgres,
le seul prob, c'est qu'il faut utiliser du php 5.2, le module dbf n'est pas intégré dans les versions antérieurs.
Bonjour
j'ai plusieurs (une trentaine) fichiers au format dbf ( dBase III, c'est mnt qu'on va savoir s'il y a des vieux sur le forum ) qui ont le même format que je dois regrouper dans une même table.
savez vous s'il existe une méthode traitant ce type de fichier ?
j'ai pensé à utiliser la commande COPY FROM mais ça marche pas
Merci
Merci pour l'information,
j'ai déjà essayé avec une expression régulière, mais j'arrive pas à le faire marcher,
ne cherchant sur le net je tombe toujours sur cette page de la doc : http://docs.postgresql.fr/8.2/functions-matching.html
avez vous un lien plus débutant pour l'utilisation des expressions régulières.
Merci
bonjour à tous
je suis à la recherche d'une fonction pour vérifier si un champs est numérique ou pas ( pas de caractère alpha )
et une fonction qui permettra de savoir si une chaîne contient les chiffres 0-9 ?
le but est de savoir si une chaîne peut représenter un nom / prénom ou pas , donc il faut pouvoir accepter les caractères accentués
Merci pour votre aide.
Youssef
Merci pour vos réponses,
@rjuju, pour phpPgAdmin, je l'ai déjà, je l'utilise mais c pas un outils à utiliser pour des utilisations pas fréquente, pas quand on fait des centaines de requêtes dans la journée,
@kenrio, domage les schema c l'un des point fort de postgresql pour moi,
je viens de retrouver un article sur postgresql.com ( version en ) qui parle de dreamcoder,
vous connaissez ?
je le teste et je donnerais mon avis ici.
Merci kenrio,
je vais le tester,
même si, avec son prix, je pense pas que je vais sortir ma CB sur tout qu'il me faut les deux versions windows et mac
est ce que tu le fais sur la même machine ou elle est installée ta base de donnée ou tu essayes de te connecter à un serveur distant, si c'est le cas, il faut vérifier si ta config te permet de faire une connexion à distance : ajouter l'ip de ton client dans le pg_hba.conf.
Bonjour,
je cherche une alternative à pgAdmin III, j'aime bien cet outils sauf que l'ouverture de plusieurs fenêtres de requête ne convient pas à mon mode de fonctionnement plusieurs fenêtres ouverte à la fois,
je me demande si il y a une façon d'ouvrir les fenetres de requête dans des onglets ou un outils qui permet de le faire comme SQL Developer ( sauf que ce dernier n'accepte pas postgresql comme base : grrr à Oracle )
Merci beaucoup pour vos réponses
Youssef
pour listen_addresses il est à * donc je pense pas que c'est lui l'origine du problème.
et en désactivant le firwall tout marche comme il faut,
Merci rjuju pour ta réponse, j'avoue que j y avais pas de tout pensé.
-----
pour les personnes qui passeront par ici et qui ont le même problème
voilà un lien http://www.linux-pas-a-pas.org/astuces/ … rewall.php
vers un script qui permet de desactiver le firewall depuis la ligne de commande
Bonjour,
j'essaye d'accéder à une base postgres installé sur une autre machine, mais je reçois toujours ce message même si j'ai bien vérifié que le serveur postgresql est démarré et j'ai ajouté l'adresse ip de la machine client dans le pg_hba.conf
avez vous une idée comment résoudre ce problème ?
Merci
Exactement,
ctid est un identifiant unique pour chaque ligne, et ça permet de faire la différence entre les lignes.
Limit c'est juste pour limiter le résultat qui sera affiché,
pour supprimer les doublons tu peux utiliser la colonne ctid
select ctid, * from cities where cities.name like 'Merr%' ;
puis faire un
delete from cities where ctid = ....
une des deux valeurs récupérée dans la première requête.
Bonsoir à tous
je suis à la recherche d'un petit serveur pour une utilisation personnel à domicile
mais qui doit quand même supporter des bases postgres de plusieurs GO mais qui reste des petites bases( une 50 GO de data sans les indexes ) et j'ai plein de truc à tester et à essayer pour apprendre.
j'ai trouvé ressement ce petit serveur de HP qui est actuellement en promotion : http://goo.gl/F9Elc
est ce que quelqu'un l'a déjà essayé ?
Merci
c'est normal,
si j'ai bien compris ton champ the_geom est sans doublon, (donc peut être considérer aussi comme une clef),
en regroupant par ce champs là, tu n'auras pas un groupements des autres champs ( ou il y a des doublons ).
pour dépasser ce point il faut utiliser une fonction min, max ... comme tu l'as fait pour la clef primaire gid et pas le mettre dans la clause group by