2016-08-18 5 views
0

私は本当にmysqlには新しく、少し複雑な質問があります。私はfirstname、lastname、他の情報の間のusernameのテーブルを持っています。特定の属性(たとえば管理者)を持つすべてのユーザー名をテーブルに照会し、結果を一時テーブルに格納しました。私は今、自分のサブセット(管理者)リストとクエリを元のリストに対して使用して、これらの個人が持つ他のアカウントを知りたいと考えています。 私が苦労しているのは、サブセットの情報を使用して全体のリスト(テーブル)内のオカレンスを探すクエリを作成することです。私はこのようなものを試しました:MySQLの別のリストを使用して1つのリストのサブセットを選択してください

SELECT * FROM fulllist WHERE lastname LIKE lastname FROM adminlist; 

しかし、それは動作していないようです。これを行うためにどのような機能を使用すべきか理解していません。私はこれをどのように把握してリストを適切に照会し続けることができるかについてのいくつかの指摘に感謝します。 ありがとうございます。ジョン

答えて

2

これを行うには、いくつかの方法がありますが、ここではinを使用して一つの選択肢だ:

select * 
from fulllist 
where lastname in (select lastname from adminlist); 

ちょうどノートは、あなたが本当にこの種のもののために一時テーブルを必要としません。上記のサブクエリにあるクエリを使用してください。次のようなもの:

select * 
from fulllist 
where lastname in (
    select lastname 
    from fulllist 
    where someattribute = 'Admin'); 
+0

ありがとうございました。これは私と私たちがとてもシンプルに見えていることを理解するのは難しかったです。ここでは、質問を実行して以来の質問です。私は予想以上に多くのことを知っていました。私は一度に2つの列を照会できますか?ファーストネームとラストネームのように? SELECT * FROM fulllistここで、firstname、lastnameは(firstname、adminlistからの姓を選択してください); –

+0

@ JohnWalker - あなたが何を求めているのか正確にはわかりません。あなたはfirstname = 'john'とlastname = 'smith'のどこで 'select * from yourtable?おそらく、サンプルデータと期待される結果で質問を編集してください。 – sgeddes

+0

全リスト --------------------------- ファーストネーム、ユーザ名 john、walker、jwalker @ abc.com john、歩行者、[email protected] john、doe、jdoe @ abc.com tom、doe、tdoe @ abc.com tom、doe、A-tdoe @ abc.com mary、doe、mdoe @ abc。 com –

関連する問題