Utiliser LIKE pour des '%[SELECT ...]'

Résolu/Fermé
Aby - 20 juil. 2011 à 16:12
 Aby - 20 juil. 2011 à 17:57
Bonjour,

J'ai une BDD contenant des Emails et des NomsdeFamille, je voudrais trouver les Emails qui commencent par le nom de famille. Il n'y aurait pas un moyen d'executer les requettes du type

SELECT Email, NomdeFamille
FROM MaTable
WHERE Email LIKE '[SELECT NomdeFamille FROM MaTable]%'
;

Merci beaucoup de votre aide


2 réponses

Acasanva Messages postés 9 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 9 septembre 2011 2
20 juil. 2011 à 16:43
Salut à toi,

Tu y étais presque ;)

Tout d'abord, comme tes deux champs (NomDeFamille et Email) sont dans la même table, tu n'a en aucun cas à faire une sous-requête. De plus je ne crois pas que LIKE prenne des table en entrée (un SELECT retourne toujours une table).

Dans ton cas, il suffit de coller un % après NomDeFamille et LIKE va se débrouiller tout seul.

Tout dépend si tu fais de l'Access ou du (vrai) SQL.

En SQL :
SELECT Email, NomdeFamille 
FROM MaTable 
WHERE Email LIKE NomdeFamille|| '%'


En Access 2007 :
SELECT MaTable.NomDeFamille, MaTable.Email
FROM MaTable
WHERE (((MaTable.Email) Like [NomDeFamille]+'*'));


Je viens de tester avec Access, ça fonctionne. Pas le temps de tester (et créer les cas de tests) sous MySQL.

A toi de jouer!
1
En fait je suis sur SQL Server 2008, donc j'ai modifié le '*' par '%' et c'est cette requête marche impec:

SELECT NomDeFamille, Email
FROM MaTable
WHERE Email Like NomDeFamille+'%'

Merci beaucoup
0
Acasanva Messages postés 9 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 9 septembre 2011 2
20 juil. 2011 à 17:25
Le jour où les éditeur implémenterons au pied de la lettre le SQL, nous nous en porterons que mieux!
Ca me fait toujours grincer des dents ces outils avec leur propre norme. Bref, passons ;)

Content d'avoir pu t'aider.
0
Acasanva Messages postés 9 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 9 septembre 2011 2
20 juil. 2011 à 17:25
Et un petit résolut, stp ;o)
0
Oui surtout si tu codes d'Access à MySql en passant par Sql Server c'est pas du tout les même normes... Il faut faire avec
Merci encore
0