Jointure interne avec comme clause
Je suis à l'aide d'une jointure interne avec la clause like ..
Mon essayé sql est
SELECT tbl_songs.id AS sid,
tbl_songs.name AS sname,
tbl_albums.id AS aid,
tbl_albums.name AS aname
FROM tbl_songs
INNER JOIN tbl_albums
ON tbl_songs.albums LIKE '%' + tbl_albums.name + '%';
Sa me montrant erreur de syntaxe.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+ tbl_albums.name + '%'' at line 2
Veuillez préciser la raison de l'erreur de syntaxe.
S'il vous plaît être conscient que l'utilisation de
LIKE
avec un joker, c'est mauvais pour la performance. En l'utilisant avec des jointures est extrêmement mauvais pour la performance. Vous seriez bien avisé d'essayer de trouver une solution alternative.
OriginalL'auteur Sankalp | 2013-06-08
Vous devez vous connecter pour publier un commentaire.
vous devez former la clause à l'aide de concat ...
il n'y a pas de
+
opérateur de ce genre dans mysqlc'est correct, dans ce cas, on peut utiliser deux concat fonctions (comme ma réponse originale à cette question a été). cependant, j'ai vu que la question était pour mysql specificall, donc j'ai ajusté il
CONCAT avec MySQL prend plusieurs arguments. Voyant que la façon dont cette question a été marqué MySQL, il doit être répondu de cette façon.
CONCAT(str1,str2,...)
Documentation de MySQLNice bro. Travailler comme un charme. M'a sauvé la vie.
OriginalL'auteur The Surrican
OriginalL'auteur rcmuthu786
Un exemple de MySQL:
Quoi?? pourquoi ne pouvons-nous pas utiliser entièrement différents tableaux, nous avons deux tables (bus , chm_master cm), cm est l'alias de de chm_master. Voir, c'est juste travail correct pour moi. Je ne comprends pas exactement ce que vous essayez de révéler ici. cm.bus_json est la valeur json, dans lequel j'essaie de trouver le bus_name. Quoi de mal à cela. franchement, vous devriez vous clarifier les concepts ici.
La question utilise
tbl_albums
ettbl_songs
comme des tableaux. Votre réponse est à l'aide debus
etchm_master
. C'est ce que je veux dire quand je dis que vous êtes à l'aide de différentes tables. Cela peut fonctionner si vous expliqué comment il répond à la question, mais comme on est, c'est juste un bloc de code qui n'a pas de contexte.Maintenant, vous pouvez voir l'tbl_songs les albums ont une relation avec le tbl_albums. Êtes-vous heureux maintenant?
Hiya, cela peut résoudre le problème... mais ce serait bien si vous pouviez fournir une petite explication sur comment et pourquoi ça marche 🙂 N'oubliez pas - il y a des tas de débutants sur Stack overflow, et qu'il pourrait apprendre une chose ou deux de votre savoir-faire - ce qui est évident pour vous, peut-être pas pour eux.
OriginalL'auteur Vinod Joshi