Faire un SELECT avec IN en postgreSQL
GuestCam
Messages postés
56
Statut
Membre
-
Posotaz Messages postés 505 Statut Membre -
Posotaz Messages postés 505 Statut Membre -
Bonjour,
j'aimerais savoir comment effectuer une requête postgreSQL du genre:
et listeNPA est connue(par exemple listeNPA(1005,1004,2005)).
Je programme sous PHP.
Merçi d'avance pour votre aide.
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.
A voir également:
- Faire un SELECT avec IN en postgreSQL
- In da place - Forum Mail
- Navigation in private - Guide
- Dc in - Forum Disque dur / SSD
- Aux in ✓ - Forum Enceintes / HiFi
- Deco in paris avis ✓ - Forum Consommation & Internet
1 réponse
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) :
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] . ')';