2016-09-14 9 views
0

私はMySQLでデータベースを作成するための調査プロジェクトに問題があります。 私は、CSVファイルから作成したテーブルにLOADを使用してデータをインポートしました。今私が実行しているときselect * from mytableすべてが完全に表示されますが、実行するとselect * from bi_jogging.routes as r where r.Creator_Email="[email protected]" は何も得られません。MySQLはselect *から結果を返しません。ここで、varchar = ""クエリ

電子メールはそこにありますが、私はさまざまな構文オプションを試しましたが、それは他のものと思われます。私はvarchar形式で何かを疑っています。

他のテーブルの場合はうまく動作し、他のテーブルではうまく動作しません。

+0

あなたは何が得られますか? – bhttoan

+0

何もエラーはありません。ただ空の結果。条件(r.mail = p.mail)に参加したときにも結果は表示されません。これは、where節で 'LIKE'演算子を試して試してみると – Johnny

+0

です。 'r.Creator_Email LIKE' %[email protected]% '; '。 –

答えて

1

あなたは、クエリを使用してみてくださいすることができますについては

..オペレータは結果を示しているように、その後、電子メールでの空白があるかもしれない場合は、再確認してください

select * from bi_jogging.routes as r where r.Creator_Email like "%[email protected]%" 

この試みる参加:

select * from bi_jogging.routes as r join bi_jogging.buddies as b 
on b.Email like '%r.Creator_Email%' 
+0

LIKEの演算子がうまく動作しようとしました。 r.Creator_Email = b.Emailのbとしてbi_jogging.buddiesに参加すると、select *をbi_jogging.routesから見ると、電子メールは一致しますが結果はありません。 – Johnny

+0

ジョインでは、同様の演算子を使用することもできます.. –

+0

最初に、返信してくれてありがとうございます。問題はCSVの生データにあることを理解していますが、Talendソフトウェア(ETLプロセス用)でジョインを実行するため、 。とにかくデータを修正するには?私はスペースや何かを見つけることができません – Johnny

0

私はそれがうまくいくと思います。もう一度同じコードで確認してください。

がr.Creator_Email='[email protected]

0

rとbi_jogging.routesから選択*私はいくつかのメールの後にMySQLのテーブルにスペースを見つけたので、私はそれはそれだったと思います。これで8時間焼きました、ありがとうございました。私は2つのだけヒットした後、最後の文字が

これを削除していることを確認するためにバックスペースを打つ必要があった、それを見て、メールの末尾にスペースを見つけることができなかった私を助け:UPDATE bi_jogging.results set Mail_Found = TRIM(Replace(Replace(Replace(Mail_Found,'\t',''),'\n',''),'\r',''));

0

あれば[select * from mytable ]これは、結果から電子メールをコピーし、where句に貼り付けようとします。

引用符間に矛盾がある可能性があります。

あなたのテーブルエントリには引用符が含まれています??? が正しくチェックされています。私はあなたがあなたのテーブルのエントリに引用符を持っていると思うので、あなたはこれをしようとすると、

select * from bi_jogging.routes as r where r.Creator_Email like "%[email protected]%" 

「%」記号は任意の文字と一致し、その結果を取得します。 テーブル内[email protected]"[email protected]"は全く異なります。

関連する問題