Posez votre question Signaler

Faire un SELECT avec IN en postgreSQL

GuestCam 56Messages postés 28 septembre 2006Date d'inscription - Dernière réponse le 24 juil. 2007 à 22:29
Bonjour,
j'aimerais savoir comment effectuer une requête postgreSQL du genre:
SELECT addresse from Person WHERE NPA in listeNPA;

et listeNPA est connue(par exemple listeNPA(1005,1004,2005)).
Je programme sous PHP.
Merçi d'avance pour votre aide.
Lire la suite 

Faire un SELECT avec IN en postgreSQL »

1 réponses
Réponse
-1
moins plus
Bonsoir,


Je n'ai fait qu'une seule requête de ce type sous PostgreSQL (même si la syntaxe est partout la même) et en général je mets toujours la requête de sélection dans le IN quand je n'hardcode pas les valeurs. Un genre à ça :

SELECT addresse FROM Person WHERE npa IN (SELECT npa FROM Privilegies);

Dans les autres cas, si je connais la liste des valeurs à mettre dans le IN je le code directement de façon dynamique. Par exemple si j'ai un tableau d'entiers je fais une boucle en ajoutant (donc en concaténant) les valeurs à la requête SQL comme ceci (exactitude du code non vérifiée) :

$requete = 'SELECT addresse FROM Person WHERE npa IN ('
for($i=0; $i<sizeof($entiers)-1; $i++)
  {
  $requete .= $entiers[$i] . ',';
  }
$requete .= $entiers[$i] . ')';
Ajouter un commentaire
Ce document intitulé « faire un SELECT avec IN en postgreSQL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?