Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1083 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Postgresql] requete avec une subquery...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Postgresql] requete avec une subquery...

n°339811
djtoz
Posté le 21-03-2003 à 17:44:11  profilanswer
 

lu
 
j essai de faire une requete sql sur postgresql avec une subquery
 
en gros je voudrai selectionner tous les hosts de la tables hosts dont le Hostname n'apparait pas dans la table lock
j ai essaye ca:
 
select "Host" from hosts where "Hostname" not in (select "Hostname" from lock where "Type" = 'Toto';);
 
et j obtiens cette erreur:
 
ERROR:  Unable to identify an operator '<>' for types 'character' and 'character varying'
        You will have to retype this query using an explicit cast
 
je pense qu il faudrait mettre le resultat de la subquery entre '', mais j y arrive po...
 
si quelqu un avais une idee ca serai super ;)
merci d avance pour votre aide.


Message édité par djtoz le 21-03-2003 à 17:44:57
mood
Publicité
Posté le 21-03-2003 à 17:44:11  profilanswer
 

n°339952
nraynaud
lol
Posté le 21-03-2003 à 19:48:34  profilanswer
 

djtoz a écrit :

lu
 
j essai de faire une requete sql sur postgresql avec une subquery
 
en gros je voudrai selectionner tous les hosts de la tables hosts dont le Hostname n'apparait pas dans la table lock
j ai essaye ca:
 
select "Host" from hosts where "Hostname" not in (select "Hostname" from lock where "Type" = 'Toto';);
 
et j obtiens cette erreur:
 
ERROR:  Unable to identify an operator '<>' for types 'character' and 'character varying'
        You will have to retype this query using an explicit cast
 
je pense qu il faudrait mettre le resultat de la subquery entre '', mais j y arrive po...
 
si quelqu un avais une idee ca serai super ;)
merci d avance pour votre aide.


 
 
select "Host" from hosts where CAST("Hostname"AS text) not in (select CAST("Hostname" AS text) from lock where "Type" = 'Toto';);
 
C'est qu'une idée.
 
edit : au risque de parraître lourd, t'a bien foutu un index sur les colones "Hostname" dans les tables hosts et lock ? Stocke aussi la procédure.


Message édité par nraynaud le 21-03-2003 à 20:00:38
n°340191
djtoz
Posté le 21-03-2003 à 23:26:41  profilanswer
 

nraynaud a écrit :


 
 
select "Host" from hosts where CAST("Hostname"AS text) not in (select CAST("Hostname" AS text) from lock where "Type" = 'Toto';);
 
C'est qu'une idée.
 
edit : au risque de parraître lourd, t'a bien foutu un index sur les colones "Hostname" dans les tables hosts et lock ? Stocke aussi la procédure.


 
merci ca marche parfaitement
 
j'ai pas mis d index, je sais pas a quoi ca sert... :)
et stocker la procedure, tu peut preciser ?
 
comme tu as l ai cale en SQL, je me permet de te pose une seconde question alors ;)
 
comment faire une update d une valeur dans une table et un insert dans une autre table en une seule requete ?

n°340196
djtoz
Posté le 21-03-2003 à 23:28:50  profilanswer
 

eu nan en fait ca a pas l air de fonctionne la requete la... :(
il me sort tous les host de la tables hosts, il a rien a foutre de la table lock... :(


Message édité par djtoz le 21-03-2003 à 23:40:03
n°340251
nraynaud
lol
Posté le 22-03-2003 à 00:26:00  profilanswer
 

djtoz a écrit :


 
merci ca marche parfaitement
 
j'ai pas mis d index, je sais pas a quoi ca sert... :)
et stocker la procedure, tu peut preciser ?
 
comme tu as l ai cale en SQL, je me permet de te pose une seconde question alors ;)
 
comment faire une update d une valeur dans une table et un insert dans une autre table en une seule requete ?


 
on peut pas, mais c'est pas grave.
Il existe la notion de transaction, c'est un ensemble d'actions qui ne sont visibles (aux autres personnes en gros) qu'une fois la transaction terminée.
Pour faire simple :
BEGIN;
ton insert;
ton update;
COMMIT;
 
si tu oublies le commit, ta transaction ne sera pas visible, c'est lui qui termine.
Si tu changes d'avis en cours de transaction (genre t'es en train de tapper à la main dans une console) tu peux faire ROLLBACK pour l'annuler (toutes les actions).
 
Pour les indexes et le stockage côté serveur, laisse tomber pour l'instant, tu verras avec le temps (au cours de tes lectures ou des cours).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Postgresql] requete avec une subquery...

 

Sujets relatifs
[ORACLE] Requète avec nom de la table en variable ?[SQL] Requete spéciale avec des dates
[ASP] Problème de date dans requête SQLerreur php postgresql
[ACCESS] prob. requete date !SQL, : Je n'arrive pas à formuler la requète qui va bien...
[SQL] requête sql sur une base access...help me !!![SQL] Un doute sur une requête pour attribuer des droits ?
[Access] requete : tri sur une partie du contenu d'un champenvoyer une requête XML à un serveur web
Plus de sujets relatifs à : [Postgresql] requete avec une subquery...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR