それは、MySQL内の別の列で参照されている部分が含まれている文字列を選択することは可能ですか?

Ant0ine64:

ここでは一例であり、私の「参照」は以下の通りです:

  1. | ゼウス
  2. | 海神
  3. | アポロン

それから私は、この「比較する」テーブルを持っています:

  • ポセイドン祝福
  • ランダム祝福
  • ゼウスからパワー

そして、私が欲しいのは、このようないくつかのものです:

  • ポセイドンの祝福| 海神
  • ゼウスからのパワー| ゼウス

参照テーブルと文字列の内容を比較する方法はありますか?

私が何をしようとしました:

WHERE ... IN (SELECT reference FROM referencetable) それは、参照テーブルに含まれていないので、これは、リターンは何もして文字列全体の列を比較します

WHERE ... LIKE CONCAT("%", (SELECT reference FROM referencetable), "%") このtrhowとエラーは、それが唯一の基準値のために働くため(THERが複数行であるタールエラーは言います)

私の目標を達成するために、この2つのアイデアをマージする方法はありますか?

ゴードン・リノフ:

あなたは使用することができますjoinlike

select t.*, c.*
from t1 join
     tocompare c
     on c.reference like concat('%', t1.col, '%');

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=402771&siteId=1