2016-10-18 4 views
2

私は指定された文字列を取得し、2つのフィールドのconcatが文字列と等しいテーブルを照会するために探しています。変数とMySQLでconcat文字列にローカル変数を含める

WHERE bombfab LIKE "36013-%601301-11" 

どのように私は(CONCAT可能)@jobと@fabnumbaへ:

set @fab = "36013-601301-11"; 
set @job = substring_index(@fab, '-', 1); 
set @fabnumba = trim(leading LEFT(@fab,char_length(@job)+1) from @fab); 

select * from (select JobNumber, concat(JobNumber, '-', LotNumber) as bomfab from qiw_powerbi) base 
where bomfab LIKE concat(@job,"-", @fabnumba) 

私はそれが失敗し、以下をしようとした場合:

WHERE bombfab LIKE "36013-601301-11" 

しかし、この試みは動作しますこれを行う?

+0

編集し、いくつかのサンプルを表示する(値は生きていけない):あなたがLotNumberにTRIM機能を追加してみたらどうなりますか

。サンプルデータ、構造などを投稿するときは、スペースではなくタブを使用してください。 – DRapp

+0

うまくいけば分かりやすくするために、何が効果的であるかの例と何かの例で更新してください。 –

答えて

3

LotNumberの値がqiw_powerbiであることを確認してください。彼らには先頭のスペースはありませんか?あなたは、クエリのコンテキストを明確にして取得しようとしているデータのご投稿

select * from (select JobNumber, concat(JobNumber, '-', TRIM(LotNumber)) as bomfab from qiw_powerbi) base 
where bomfab LIKE concat(@job,"-", @fabnumba) 
+0

ああ!私はそれを使用しているSQLのフロントエンドで、先頭の空白文字を取り除くので、私はそれについてすべて忘れてしまった。思い出してくれてありがとう! –

+0

これで問題は解決しましたか?先頭に空白がありましたか? – CGritton

+0

私は実際に以下を使用することができました: –

関連する問題