Bonjour à tous !
J'ai une table qui contient des utilisateurs mais je souhaiterais renvoyer tout de même la ligne si l'utilisateur rentré n'apparait pas dans la table. Cela est - il possible ?
merci d'avance
Bonjour à tous !
J'ai une table qui contient des utilisateurs mais je souhaiterais renvoyer tout de même la ligne si l'utilisateur rentré n'apparait pas dans la table. Cela est - il possible ?
merci d'avance
je n'ai peut-être pas bien compris.. mais tu désires faire une requête qui te renvoie une ligne pour un nom d'utilisateur donné et tu veux aussi que si l'utilisateur n'est pas dans ta table, qu'il apparaisse.. ? ça ne me parait pas possible: dans une requête tu auras comme résultat seulement ce qui se trouve dans ta table, mais cela ne t'empêche pas de tester si aucun résultat n'est retourner et dans ce cas de faire le traitement voulu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ResultSet r1 = ...; if (r1.next()) { // l'utilisateur existe dans la table } else { // l'utilisateur n'est pas dans la table }
Exactement, je souhaite faire une requête qui me renvoie une ligne pour un nom d'utilisateur donné et si l'utilisateur n'est pas dans ta table, je veux qu'il apparaisse également.
Une requête de ce style :
Si 'DUPONT' est dans la table, il sera retourné par la première requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 select NOM from MATABLE union select 'DUPONT' from TABLE_D_UNE_LIGNE where not exists ( select 1 from MATABLE where NOM = 'DUPONT' )
Sinon la deuxième ajoutera une ligne à la liste... Il suffit d'avoir à sa disposition une table d'une seule ligne (sélection d'une seule ligne dans une quelconque table existante !)
Merci pour vos idées, mais voila exactement mon problème !
identité de la personne = nom +' '+substring(prenom,1,1) +'.'
mais si ce qui a été saisi n'existe pas dans la table alors le champs saisi doit tout de même etre renvoyé sans pour autant que celui ci soit incorporé dans la table.
merci d'avance
Il me semble que ce que tu demandes soit impossible. tu afficher des infos sur une personne en faisant un SELECT sur ta table. Mais si il ne trouve rien, il ne t'affichera rien. Mais ta requete, tu l'execute en SQL pur ou elle se trouve dans un script de style php ou autre chose ?
je l'execute en sql sous sql server. En gros j'ai 2 tables une utilisateur et une autre avec divers donnée ou on retrouve user.
Je souhaite donné a la jointure une expression qui permettra d'afficher le nom de l'utilisateur qu'il soit ou non dans la table de la forme : nom+''+substring(prenom,1,1)+'.'
je débute donc peut être que cela est impossible![]()
En SQL pur cela est impossible à moins que le nom et le prenom se trouve dans une autre table. Sinon tu dois passer par un script pour pouvoir utiliser des variables
je pense que cela est possible avec un left outer join
mais bon je n'en suis pas sur du tout voila ce que j'ai fais
select user_name, nom, prenom
from table1
left outer join table2
on table2.user_name = table1.nom +' '+substring (table1.prenom,1,1)+'.'
La solution est en effet une jointure externe avec LEFT OUTER JOIN, mais dans le cas d'un JOIN la jointure est décrite avec ON et non avec WHERE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT user_name, nom, prenom FROM table1 LEFT OUTER JOIN table2 ON table2.user_name = table1.nom +' '+substring (table1.prenom,1,1)+'.'
merci je m'en suis rendu compte apres avoir ecrit le post. Un résultat ressort mais je ne l'ai pas totalement analysé donc si j'ai des problèmes je repost.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager