Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 01/11/2007, 15h54   #1
Futur Membre du Club
 
Inscription : mai 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 60
Points : 19
Points : 19
Par défaut PB: Syntaxe pour mettre des variables dans un LIKE %..% ?

Bonjour,

Je souhaiterais effectuer un LEFT JOIN avec comme condition un LIKE %..% mais n'arrive pas à faire en sorte qu'il mette des valeurs des résultats actuels.

Je m'explique, voici le code :

Code :
1
2
3
4
5
6
SELECT [...]
FROM table1
LEFT JOIN table2 ON (table1.id = table2.id)
LEFT JOIN table3 ON (table3.donnee LIKE '%table1.titre%table2.numero%')
WHERE table1.id = 2
ORDER BY table2.numero
Le souci est qu'il cherche le texte '%table1.titre%table2.numero%' dans la table 3 et ne trouve donc évidemment rien.
Je voudrais qu'il remplace table1.titre et table2.numero par les valeurs de ces tables de la ligne courante.

Est-ce possible, et si oui, quelle est la syntaxe ?

Par avance merci !
$p00ky est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2007, 20h27   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Code :
1
2
3
4
5
6
SELECT [...]
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
LEFT JOIN table3 ON table3.donnee LIKE CONCAT('%', table1.titre, '%', table2.numero, '%')
WHERE table1.id = 2
ORDER BY table2.numero
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2007, 22h37   #3
Futur Membre du Club
 
Inscription : mai 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 60
Points : 19
Points : 19
Ohoh, je ne connaissais pas cette fonction, c'est parfait, merci !!!

Il y a aussi l'opérateur + qui semble faire de même : LIKE '%'+table.champ+'%'+table.champ2+'%'

En tout cas, MERCI

$p00ky est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h31.


 
 
 
 
Partenaires

Hébergement Web