• ベストアンサー

MySQLの構文についてです・・・

いつもお世話になります。 MySQLの構文について悩んでおりますので、アドバイス頂けたらと思います。 環境 MySQL4.0 チームテーブルには各球団の情報があります。 team_table team_id | チーム名  1 | ジャイアンツ  2 | ドラゴンズ  3 | タイガース  4 | ベイスターズ  5 | スワローズ  6 | カープ ----------------------- スケジュールテーブルには対戦カードと審判割当があります。 レコードにはteam_idが入力されています。 schedule_table  id | 対戦チーム1 | 対戦チーム2 | 審判チーム1 | 審判チーム2 |   1 |   1   |   2   |   3   |   4   |  2 |   3   |   4   |   5   |   6   |  3 |   5   |   6   |   1   |   2   | --------------------------------------------------------------- この2つのテーブルから  id | 対戦チーム1 | 対戦チーム2 | 審判チーム1 | 審判チーム2 |  1 |ジャイアンツ |ドランゴンズ | タイガース | ベイスターズ|  2 | タイガース | ベイスターズ| スワローズ |  カープ  |  3 | スワローズ |  カープ   |ジャイアンツ |ドランゴンズ | と表示したいのですが、 INNER JOIN で結合するにも4回行わなければならないのと、フィールド名がかぶってしまうので、もっとスマートな方法がないかと考えております。 大変未熟なためアドバイスを頂けたらと思いますので、よろしくお願い致します。2人くらいの方からアドバイス頂けましたら、迅速に締め切り、ポイント付与させて頂きます。

  • MySQL
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>INNER JOIN で結合するにも4回行わなければならない 普通にそれでよろしいかと。 そもそもSQLで表を作る必要があるのでしょうか? たとえばWEB上で表示したいなどの用途であれば PHPなどで対比表を配列で用意する手もあるでしょうけど

maicching
質問者

お礼

早速の回答ありがとうございます。 通常はそれで問題ないのですね。 将来的に対戦カードが蓄積されることと、PHPのソースも簡素にしたかったので何か良い方法はないかと考えておりました。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

4回JOINするしかありませんし、それが「スマートでない」とも 思いません。フィールド名が重複することはSQLでは頻繁に起こる ことで、同じ用途の項目なら、むしろ同じ名前にするのが普通です。 そのため、別名(Alias)を付けて区別します。 A.チーム名 AS 対戦チーム,B.チーム名 AS 審判チーム・・・など

maicching
質問者

お礼

早速のご回答ありがとうございます。 やはりINNER JOINの4回繰り返しが妥当なようですね。 なるべく繰り返し作業が減らせればと思ったのですが・・・ これで安心して作業に取り組めます。 ありがとうございました。

関連するQ&A

  • 巨人ジャイアンツ、と言いますか?

    先日女の子数人と飲んでいてプロ球団の名前の話になったときのこと、タイガースといえば「阪神」、スワローズといえば「ヤクルト」、とこのあたりはよかったのですが、ベイスターズのDeNA、カープの東洋は知らない子がいました。 しかしジャイアンツといえば全員が「巨人」と答えました。 さてさて、読売ジャイアンツという言い方はそれほど一般的ではないのでしょうか?

  • 初の日本一での順番について。

    1950年以降からでの2リーグ制以降からでの初での日本一での順番では以下で合っていていていますのでしょうか?教えて下さい。 1:千葉ロッテマリーンズ。 2:読売ジャイアンツ。(巨人。)。 3:中日ドラゴンズ。 4:埼玉西武ライオンズ。 5:福岡ソフトバンクホークス。 6:横浜DeNAベイスターズ。 7:北海道日本ハムファイターズ。 8:オリックス・バファローズ。 9:東京ヤクルトスワローズ。 10:広島東洋カープ。 11:阪神タイガース。 12:東北楽天ゴールデンイーグルス。

  • ジャイアンツだけなぜ「読売」といわずに「巨人」と言うのですか

    前から、ずっと疑問です。 野球の球団名は正式な名称と愛称があると思います。 例えば「阪神タイガース」「中日ドラゴンズ」「ヤクルトスワローズ」そして「読売ジャイアンツ」などが全球団についています。 でも、テレビでも新聞でも「阪神対中日」あるいは「タイガース対ドラゴンズ」とは言いますが、「読売対中日」などとは言わずに「巨人対中日」と言っています。なぜジャイアンツだけ「巨人」と言うのでしょうか。なぜ「読売」と言わないのでしょうか。 歴史的なことや何でも良いので教えて下さい。

  • 何でジャイアンツだけ・・

    テレビ中継の時、チームの得点状況を示す表示は広島カープは「広」横浜ベイスターズは「横」阪神タイガースは「神」・・・・・。 なのになぜ東京読売ジャイアンツは「東」もしくは「読」でなくて「巨」なんでしょう? おかしくない?

  • 広島カープはなぜ単数形?

    先日、妹と話していたんですが… 何故広島カープだけ単数形なんでしょうか…? ジャイント→ジャイアンツ、タイガー→タイガース、ドラゴン→ドラゴンズ等など球団名は軒並み複数形。 だのに、何故?!カープは! カープは『鯉』でしたでしょうかね。でも何故単数形。 理屈を捏ねくりたくとも出てきません! 誰か教えて~! 同様の質問ありましたら私が見つけられなかっただけです。すみません。また、回答遅れますが、必ずします(m_ _m)

  • プロ野球球団のイメージカラー

    各球団のイメージカラーを教えてください。 「?」の球団のイメージカラーをお願いいたします。 「レボリューションイエロー」など…正式名称でなくても構いません。 「黄色」って感じでも構いません 自分で判る範囲は書きましたが、もしかしたら間違っているかもしれません。 間違っていましたら、修正をお願いいたします。 ソフトバンクホークス / 黄色 楽天ゴールデンイーグルス / 臙脂色 西武ライオンズ / ? オリックスバッファローズ / ? 日本ハムファイターズ / ? ロッテマリーンズ / ? 阪神タイガース / 黄色 読売ジャイアンツ / オレンジ 広島東洋カープ / 赤 中日ドラゴンズ / ? ヤクルトスワローズ / ? 横浜DeNAベイスターズ / ? よろしくお願いいたします。

  • 1972年での日本プロ野球での順位について。

    1972年での日本プロ野球での順位では以下での通り何でしょうか?教えて下さい。 1:セ・リーグ。 第1位での完全制覇での球団名。⇒:読売ジャイアンツ。(巨人。)。 第2位。⇒:阪神タイガース。 第3位。⇒:中日ドラゴンズ。 第4位。⇒:東京ヤクルトスワローズ。 第5位。⇒:横浜DeNAベイスターズ。 最下位での第6位。⇒:広島東洋カープ。 2:パ・リーグ。 第1位でのリーグ優勝での球団名。⇒:旧阪急ブレーブス。(現オリックス・バファローズ。)。 第2位。⇒:旧南海ホークス。(現福岡ソフトバンクホークス。)ホークス。 第3位。⇒:日本ハムファイターズ。 第4位。⇒:千葉ロッテマリーンズ。 第5位。⇒:旧西鉄ライオンズ。(現埼玉西武ライオンズ。)ライオンズ。 最下位での第6位。⇒:大阪近鉄バファローズ。

  • ジャイアンツの試合日程が優遇される理由は?

    なぜジャイアンツだけ昼間のゲームが少ないのでしょう? たとえば6月の試合日程表を見ると ジャイアンツが行う昼のゲームが2回 タイガース6回 ベイスターズ9回 カープ6回 スワローズ5回 なぜこんなに差があるのでしょうか? ナイターを終えた次の日に13:00や14:00スタート 選手にとってはキツイ日程だと思うのですが、ジャイアンツにはそれが少ない と言うかほとんど無い。 なぜこんなに優遇されているのでしょう? プロ野球の試合日程はテレビ局が編成するのですか? 週末は必ずと言っていいほどジャイアンツの中継が日テレでありますよね。 気のせいかも知れませんが、週末に限ってはフジやTBSで見たこと無い気がするんですよ。 読売グループってそんなにしてまで巨人軍を守りたいのでしょうか?

  • 野球のチーム名の不思議

    読売ジャイアンツ(巨人) 阪神タイガース 中日ドラゴンズ どうして、読売ジャイアンツだけ「巨人」という別名があるのでしょうか? それとも、他のチームにもなにかしらあるのでしょうか?

  • 12球団それぞれのイメージをひと言で言うと?

    球団関係の仕事をしています。 仕事上『最近の若い人にとっての各球団のイメージ』を調べているのですが、 最近年のせいで、若い方の意見を聞くチャンスがありません。 各球団のイメージについても、 ついつい昔の固定観念でしか見れない自分がいて困っています。。 ぶっちゃけ、今、12球団それぞれのイメージって ひと言で言うと、どんなイメージですか。 率直な意見を聞かせて頂けると大変助かります。  ジャイアンツ  阪神タイガース  中日ドラゴンズ  ヤクルトスワローズ  広島カープ  横浜ベイスターズ  ソフトバンクホークス  日本ハムファイターズ  西武ライオンズ  千葉ロッテマリーンズ  オリックスブルーウェーブ  東北楽天ゴールデンイーグルス どうぞよろしくお願い致します。