- ベストアンサー
SQL文でのサブクエリの質問
- SQL文でのサブクエリの使い方について質問があります。具体的には、MySQLでのサブクエリを使用して複数条件の絞込み検索を行いたいと思っていますが、うまく表示されません。どのようなSQL文を使用すれば玉田という名前のみ表示されるのか教えてください。
- 質問の内容は、MySQLのサブクエリを使用した絞込み検索の方法についてです。現在、複数条件で絞り込み検索するWEBアプリを制作中ですが、SQL文が正しくないようでうまく表示されません。具体的には、名古屋というチームに所属し、かつ名前が玉田の選手を表示したいのですが、どのようなSQL文を記述すれば良いでしょうか。
- MySQLでの絞り込み検索の方法について質問です。現在、名称が「玉田」という選手を表示するためのSQL文を書きたいと思っていますが、うまく表示されません。具体的には、名古屋というチームに所属する選手の中から名前が「玉田」という選手を抽出したいのですが、どのようなSQL文が必要でしょうか。ご教示いただけますと幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
動くようにするなら SELECT code,name,team_name,price,position,gazou FROM mst_player_market WHERE code IN (SELECT code FROM team WHERE team_id IN (1)) and code IN (SELECT code FROM mst_player_market where name = '玉田') ですね。
その他の回答 (1)
- hitomura
- ベストアンサー率48% (325/664)
……えーと、なんでそんなに複雑な SQL 文になっているのでしょうか? とにかく玉田選手のデータを抽出したいなら SELECT code,name,team_name,price,position,gazou FROM mst_player_market WHERE code=15 で十分なはずです。 そうではなく、○○かつ××な選手という条件で検索したら玉田選手のデータだけがヒットするはずなのにそうならない、というのであれば、その条件を日本語(あるいはあなたの母国語)で補足願います。 ……というか、テーブル構成おかしくね? 自分だったら テーブル名 mst_player_market code name price gazou position team_id 15 玉田 70000000 player_bustup_11.jpg FW 1 16 田口 4000000 player_bustup_28.jpg MF 1 17 田鍋 6000000 player_bustup_14.jpg MF 1 18 田中 120000000 player_bustup_04.jpg DF 1 3 津田 40000000 p4389_img2.jpg FW 2 24 長谷川 30000000 p4399_img.jpg GK 2 25 山口 30000000 photo021401851726.jpg MF 3 26 ケンペス 50000000 photo011401851481.jpg FW 3 テーブル名 team team_id team_name 1 名古屋 2 徳島 3 千葉 というふうにするか、加えて position も team と同様の別表にするけど。 あと、複数ポジションを任せられる選手はどうするつもりですか?
補足
>そうではなく、○○かつ××な選手という条件で検索したら玉田選手のデータだけがヒットするはずなのにそうならない、 仰るとおり、選手名が○○選手かつチームが○○というデータがヒットしないので ご教授いただければということでした。 説明不足すみません。 >加えて position も team と同様の別表にするけど。 あと、複数ポジションを任せられる選手はどうするつもりですか? 確かにそこまで考えてはいなかったです。 テーブル構成も適当過ぎました。 チーム名のカラムが2つのテーブルにあるのでかなり余分でした。 多くのヒントをいただきありがとうございます。
お礼
いつもアドバイスありがとうございます。 説明不足にもかかわらず素晴らしい返答して頂いてありがとうございます。 教えて頂いたSQL文で無事に動きました。 本当にありがとうございました。