2017-04-20 13 views
0

私はすべてのユーザを照会する方法を探していますが、結果に特定のユーザを戻す必要があります。私は下でできることを説明しようとしますが、要するに、電子メールアドレスのリストを参照として使用して、それらの電子メールアドレスに一致するすべてのユーザーを取得したいと考えています。MySQLデータベースに電子メールアドレスのユーザ名を問い合わせてください

概要

私はイベントを実行するワードプレスのウェブサイトを持っています。人々がイベントにサインアップすると、アカウントが作成されます。これらのユーザープロファイルを登録にリンクする出席者用の別のテーブルもあります。

今のところ、私は1つのイベント主催者に固有の人々のリストを取得する必要があります。私はこれを行う最善の方法は、出席者の情報から自分の電子メールアドレスを使用し、ユーザー名のために私のwp_usersテーブルを照会することだと思った。

SELECT display_name 
FROM `mydatabase`.`wp_users` WHERE `user_email` LIKE 
'[email protected]' OR 
'[email protected]' OR 
'[email protected]'; 

私は実際のメールを削除し、データベース名を変更しました。

私が達成しようとしているのは、自分の電子メールアドレスをテーブル内のユーザーと比較して一致するものを返すユーザーリストを実行するクエリです。

今のところ、最初に見つかった結果が返されます。

私はメールのリストを用意していますが、これを動作させるのに苦労しています。

答えて

1

にのみ使用されます。たとえば

where email like '%@mydomain.com' 
+0

Juergenに感謝します。私はちょうど両方の方法を試して、両方が私が望むように正確に行った。あなたの時間をありがとう。 投稿した2つのソリューション間でパフォーマンスに違いはありますか? LIKE句を明確にしてくれてありがとうございます。 LIKE句を使用したときにワイルドカードを作成したのは '%'だと思いました。 私はこれをOneNoteに追加しました。 PhilB – philb

+0

'in'節に' null'値が1つだけ含まれている場合、完全比較は 'false'を返します。したがって、あなたのカラムにヌル値がある場合には 'in'を使わないでください。 –

+0

私のデータにはいくつかのヌル値が存在する可能性があるので注意してください。だから、あなたはおそらくそこで私を救ったでしょう。 ありがとう! – philb

0

私はこれを数分後に把握することができました。

私は最初の問題を修正しませんでしたが、Power BIの2つのデータセットの関係を見つけて作成し、必要なリストを取得することができました。

ありがとうございます。

ワイルドカードで検索するときは、where

SELECT display_name 
FROM `mydatabase`.`wp_users` 
WHERE `user_email` = '[email protected]' 
    OR `user_email` = '[email protected]' 
    OR `user_email` = 'mythirdema[email protected]' 

またはIN()

SELECT display_name 
FROM `mydatabase`.`wp_users` 
WHERE `user_email` IN ('[email protected]', '[email protected]', '[email protected]') 

そしてlikeを使用するには、このようなカラム名を繰り返す必要がPhilB

+0

あなたの質問は間違っていますか? –

+0

こんにちは、私はそれがあなたがなぜそれを解決策として受け入れることができるのかについてのいくつかの洞察力を提供できるかどうかを考えました! – philb

関連する問題