Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
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 24/07/2003, 14h03   #1
Membre du Club
 
Inscription : avril 2003
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 117
Points : 62
Points : 62
Par défaut where sur la première colonne

bonjour,

quelle est la synthaxe pour faire un where dans une requete sur la première colonne car mon nom de table est une variable et dans les noms de mes colonnes ne sont pas les mêmes.

j'ai essayé ça
Code :
1
2
3
SELECT *
FROM $matable
WHERE 1=$variable
pas d'erreur mais ça ne renvoit rien

si la synthaxe est en fonction du SGBD, je suis sous Postgres

merci d'avance
r-zo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 14h58   #2
Invité de passage
 
Inscription : juillet 2003
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 2
Points : 2
Points : 2
il te faut nommer la colonne sur laquelle tu effectues ta restriction (ton where comme tu dis).

Code :
1
2
3
4
 
SELECT *
FROM ta_table
WHERE le_nom_du_champ_de_ta_table = ta_variable
si le nom de table provient d'une variable et que tu effectues une sorte de SQL dynamique (requete construite a la volée) il te faut passer le nom de la colonne de restriction dans une variable aussi.

Enfin veille a la lisibilité de tes questions, il est rapide de relire son post avant de l'envoyer afin de vérifier sa clarté et de le rendre évient pour tout le monde....
Nikkko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 15h13   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 12
Points : 13
Points : 13
Code :
1
2
3
SELECT * 
FROM $matable
WHERE (SELECT syscolumns.[name] FROM syscolumns INNER JOIN sysobjects ON syscolumns.[id]=sysobjects.[id] WHERE syscolumns.[colid]='1' AND sysobjects.[name]=$matable)=$variable

ça et quelques petites modif's si nécessaires et c'est bon normalement.
quickaboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 15h15   #4
Membre du Club
 
Inscription : avril 2003
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 117
Points : 62
Points : 62
justement je ne peux pas indiquer le nom de la colonne de restriction puisque je la connaitrais pas!

je sais juste que peu importe la table, ma restriction concernera ma première colonne (clé primaire)
r-zo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 15h23   #5
Membre du Club
 
Inscription : avril 2003
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 117
Points : 62
Points : 62
Citation:
Envoyé par quickaboy
Code :
1
2
3
SELECT * 
FROM $matable
WHERE (SELECT syscolumns.[name] FROM syscolumns INNER JOIN sysobjects ON syscolumns.[id]=sysobjects.[id] WHERE syscolumns.[colid]='1' AND sysobjects.[name]=$matable)=$variable

ça et quelques petites modif's si nécessaires et c'est bon normalement.
merci pour ta réponse mais pourrais-tu me dire si cette synthaxe fonctionne sous postgres parce qu'en le testant, il m'indique une erreur sur un '[' (sans plus d'indication d'ailleurs )
r-zo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 15h54   #6
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 12
Points : 13
Points : 13
Je ne sais pas du tout, étant donné que je n'utilise pas. S'il y a un analyseur de requêtes, teste la dedans en faisant des retour à la ligne le plus souvent que tu peux, et tu sauras quel '['.
quickaboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 16h02   #7
Membre du Club
 
Inscription : avril 2003
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 117
Points : 62
Points : 62
c ce que j'ai fais sur PGadmin mais c ça qui est chiant, il ne dit pas sur quel ligne est l'erreur, c l'horreur
r-zo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2003, 16h28   #8
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 12
Points : 13
Points : 13
Désolé, je peux plus rien faire. Help quelqu'un !
quickaboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2003, 09h55   #9
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Citation:
Envoyé par quickaboy
Je ne sais pas du tout, étant donné que je n'utilise pas. S'il y a un analyseur de requêtes, teste la dedans en faisant des retour à la ligne le plus souvent que tu peux, et tu sauras quel '['.
De toute facon, ca ne marchera pas, car
1) l'exemple est tire de MS-SQL (les tables systeme varient d'un SGBDR a l'autre)
2) le parser de MS-SQL accepte tout (et n'importe quoi), ce que ne fait sans doute pas Postgresql
3) MODERATION : tu est dans le mauvais forum, ce qui t'a valu de perdre du temps sur des reponses erronnees pour Postgres(je deplace donc ton post)
fadace 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 21h42.


 
 
 
 
Partenaires

Hébergement Web