一つのテーブルに複数のデータベースを表示

このQ&Aのポイント
  • PHPを使用して複数のデータベースを1つにまとめる方法についてお聞きしたいです。
  • データ数が数十万に達する場合、データの編集が困難になるため、データベースを別に作成したいと考えています。
  • このような形にまとめることは可能でしょうか?また、この方法はページの表示速度に影響するでしょうか?
回答を見る
  • ベストアンサー

一つのテーブルに複数のデータベースを表示

質問失礼します。 下記のような3つのデータベースがあるとします。 【main】 +---+--------------+------+------+ │id│title │artist│season│ +---+--------------+------+------+ │1│winter again │1   │4   │ +---+--------------+------+------+ │2│すみれ9月LOVE│2   │3   │ +---+--------------+------+------+ │3│HOWEVER │1   │4   │ +---+--------------+------+------+ │4│Boy Meets Girl │3   │1   │ +---+--------------+------+------+ │5│いつか │4   │2   │ +---+--------------+------+------+ │6│夏色 │4   │2   │ +---+--------------+------+------+ 【artist】 +---+--------+ │id│artist │ +---+--------+ │1│GLAY │ +---+--------+ │2│SHAZNA│ +---+--------+ │3│TRF │ +---+--------+ │4│ゆず │ +---+--------+ 【season】 +---+------+ │id│season│ +---+------+ │1│春 │ +---+------+ │2│夏 │ +---+------+ │3│秋 │ +---+------+ │4│冬 │ +---+------+ この3つのデータベースを最終的に1つにまとめて PHP上で下記のように表示することは可能でしょうか? 【例.php】 +---+--------------+-----------+------+ │番号│曲名     │アーティスト│季節 │ +---+--------------+-----------+------+ │1│winter again │GLAY    │冬  │ +---+--------------+-----------+------+ │2│すみれ9月LOVE│SHAZNA  │秋  │ +---+--------------+-----------+------+ │3│HOWEVER │GLAY    │冬  │ +---+--------------+-----------+------+ │4│Boy Meets Girl │TRF     │春  │ +---+--------------+-----------+------+ │5│いつか │ゆず     │夏  │ +---+--------------+-----------+------+ │6│夏色 │ゆず     │夏  │ +---+--------------+-----------+------+ 最初から【main】のデータベースにまとめておけばよいとは思うのですが、 データ数が数十万あり、【artist】や【season】を編集するだけでも大変になったため、 別でデータベースを作り、このような形にできないかと思っております。 また、もしできるとしたら、このような形は、 ページの表示速度が落ちたりするのでしょうか。 ご存じの方いらっしゃいましたら、ご教授お願い致します。

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

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

  • ベストアンサー
  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

【main】tableを主にして、【artist】と【season】tableをLeft Outer Joinで結合します。 すると、お望みの仮想表ができあがります。 もしかすると、親切な方がSQL文を提示してくれるかもしれませんが、 あまりにも簡単な事と、結合について少し勉強された方が良いと思いますので、 Left Outer Joinで検索して調べて見られてはどうですか?

rabbit-kimura
質問者

お礼

ありがとうございます! Left Outer Join他のテーブルで使っているので、やってみます!! ただ、基礎から勉強したわけでないので、 この形 = Left Outer Join というのが結びつかず、ついつい質問に頼ってしまいます; Thank you

その他の回答 (1)

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

この手のDBは実は奥が深い (1)楽曲名やアーティスト名がまったく同じ場合がある (2)同じ楽曲であってもカバーなどアーティストが1人だけだとは限らない (3)同じ人であってもアーティスト名が一つだけだとは限らない (4)季節がない場合もあるし、四季をとおしたうたもある

rabbit-kimura
質問者

お礼

あくまで、例のテーブルなので・・・ すいません、例が悪かったです(>_<)

関連するQ&A

  • TRFの・・・

    TRFの、『boy meets girl』という曲と、 同じくTRFの『suvaival dAnse』 の歌詞を教えてください載ってるHPでもいいです。 出来たら試聴できるHPもあれば、教えてください。

  • TRFと言えば、、、、何の曲??

    こんにちわ。 最近TRFが新曲を出したとかで、 色々テレビに出て昔の曲を歌ってるのを よく見ます。 TRFといえば、かなりわたしが中学生くらいの頃 みんな聞いてて、カラオケとかでも歌ってました。 でも、私の中ではTRFといえば 『Boy Meets Girl』だったんですけど、 今のところ、見たテレビでは歌ってないんです。 そこで、思ったのですが、 世の中的にはTRFといえば、何の曲を思い浮かべますか?? 1曲だけです。 ふと、思った事なので、お暇な時に投稿ください!!

  • 古いんですけど trf

    trfのboy meets girlっていう曲ありますよね。 最近また聞いていて、すごく好きなんですけど、一つだけ気になっていることがあります。 それは、曲の最初のところで流れる 『アーチニョ-オーウーゥ ヒィコエノーオォ-(?)』 と歌っている(?)部分です。 あれって、日本語?英語?もしかして呪文? てゆーか誰が歌ってるの?YUUKI? と最近気になってしかたありません。 だれか御存知の方いますか? 説明不足だったらごめんなさい。

  • GLAYの全盛期の曲は本当にTAKUROが作っているのですか?

    GLAYの全盛期の曲は本当にTAKUROが作っているのですか? ちょうど a boy や 唇 winter again グロリアス HOWEVER の頃が絶頂期だったと思うのですがあの頃の曲と、最近のTAKUROの作った曲を聴くととても同じ人が作っているとは思えません。急にメロディと歌詞のクオリティの落差が激しいと思うのですが、同じ事感じている人いますよね?。 僕はGLAYの曲はいつも街に流れていたし聞いていたので好きですが特にGLAYのファンでもなくアンチでもありませんので単に悪意を持った質問ではないことを前提にお願いします。ただ率直に感じました。最近の曲をTVなどで聞くたびに違和感を覚えるので詳しい方教えてください。

  • Access2007でデータベース

    現在、サーバー内のデータが整理つかなくなってしまったので、 データーベースで管理してみようと思っています。所持しているソフトはマイクロソフトのアクセスです。 やりたいことはファイルの管理です。以下のような形にしたいと思っていますが、 よくやりかたがわかりません。こんな感じでこんな風にやればよいという意見や アドバイスをください。よろしくお願いします。 用途:ファイルを管理するためのもの 全6層のカテゴリにわけ、データを管理したい。(総ファイル数は数万に及ぶと思います。 たとえば2006年の家族旅行の写真を登録する場合 写真(一層目)⇒家族関係(第二層)⇒旅行(第三層)⇒2006年(第四層)⇒夏(第五層)⇒長野県キャンプ(第六層)⇒DSC00001.jpgなどのデータ この場合の一層目というのは、写真・動画・音声などのジャンルです。 二層目は写真を選んだ場合、家族関係・仕事などの写真のジャンルです。 三層目は旅行・学校行事などの家族関係のジャンルです。 四層目は旅行に行った年、つまり2006年、2007年などです。 五層目は夏、冬など旅行に行ったシーズンです。 六層目はどこにいったかという分け方です。 その中にDSC00001.jpg たとえばJPOPでああああというアーティストの曲を登録する場合(MP3形式) 一層目⇒音声 二層目はファイルの種類でこの場合MP3 三層目はJPOP、クラシックなどの分類でこの場合はJPOP。 四層目はアーティストの分類。この場合はああああ 五層目は発売年月日。 六層目でCD名。 そのなかにTrack-01.mp3など こんなかんじでやってみたいのですが、よろしくお願いします。

  • 友達にGLAYを勧めたい!!

    最近、友達が「Ashes-1969」を聴いて、「GLAYっていいな」と言い出しました。そいつは今までGLAYに全く興味が無く、昔流行ったバンドぐらいにしか思っていませんでした;; ちなみに自分は、それなりに長くGLAYのファンです^^ 今回友達がGLAYのいい曲のベストを作って貸して欲しいと言われたので、有名な曲のみのベストとマイナーな曲のみのベストを作ろうと思います。(大体10曲から15曲) どのような曲を入れれば更に好きになってくれそうですかね? アドバイスお願いしますm(_ _)m 【シングルベスト】(有名な曲で構成したいです) 誘惑、口唇、グロリアス、HOWEVER、winte,again、とまどい、BELOVED、BE WITH YOU、BEAUTIFUL DREAMER、Way of Difference、Missing You、夏音、Blue Jean、SOUL LOVE 【マイナーベスト】(シングルでも構わないです) Yes,summerdays、春を愛する人、Fairy Story、Fighting Spirit、嫉妬、都忘れ、カーテンコール、つづれ織り、Runaway Runaway、a Boy ~ずっと忘れない~、pure soul、summerFM、Believe in fate 自分が考えているのはこれくらいです。 アドバイスなどありましたらぜひお願いします!!

  • 複数データベースでのテーブル共有

    SQL Server初心者です。 下記のことが可能かどうか教えてください。 現在、社内ASP Webシステムが10個くらいあります。 バックエンドデータベースとしてAccessを使用していますが、ファイルサイズが数十メガになってしまったものもあり、これらをすべてSQL Serverに移行しようと考えています。 Accessでは、複数のデータベースで共有したいテーブルがある場合、リンクテーブルとして共有できるため、これらのWebシステムでも社員情報テーブルをすべてリンクテーブルで共有しておりました。 SQL Serverに移行した場合、Accessのようにテーブルを共有することはできるのでしょうか? ご教授のほどよろしくお願いします。 バージョン: SQL Server 2000

  • 複数テーブル表示

    こんにちは、 元テーブル⇒取引先テーブル⇒取引先名称テーブル構成から最終的に 結果SQLのように取引先名称1、取引先名称2を 出力したいと思っているのですが、二つを一緒に抽出させることが なかなか出来ません。 多分、複数のSELECT文をどうにかしないといけないのかとは 思うのですが、情報ありましたらお願い致します。 元テーブル ID l 売先コード l 需要家コード 1 l A l B 2 l C l B 3 l A l C 取引先テーブル ID l 売先、需要家コード l 取引先名刺ID 1 l A l A1 2 l B l B1 取引先名称テーブル ID l 取引先名刺ID l 取引先名称 1 l A1 l 売り先名称 2 l B1 l 需要家名称 結果SQL 売先コード l 需要家コード l 取引先名称1 l 取引先名称2 A l B l 売り先名称 l 需要家名称 C l B l (空白) l 需要家名称 A l C l 売り先名称 l (空白)

  • こんな感じのアームウォーマーありませんか?

     冬場に使うアームウォーマーがほしいのですが、  今は夏シーズンなので全く見当たりません  冬に向けて今から探したいのですが、パールイズミのアームウォーマーをサイクルショップで試着したことがあります  これです↓  http://www.pearlizumi.co.jp/goods/cms/detail.php?id=117  しかし、ある程度の数を沢山購入するので、もうすこし安い方が助かるので、ノーブランドのものがあれば助かります。  サポーターのように薄くて、通気性が良いものではなく、保温が期待できるウォーマーでもうパールイズミより少し安いものはありませんか?

  • データベースの中身をテーブルで表示したいです

    mysqlデーターベースの中身をテーブルで表示したいのですがわからない事があるので書き込みしました。 テーブルAのデーターを <TABLE> <TR><TD>mysql1行目</TD><TD>mysql2行目</TD></TR> <TR><TD>mysql2行目</TD><TD>mysql4行目</TD></TR> </TABLE> <TD></TD>の間にレコード一つ分のデータを入れて2列で表示したいです。 whileを使ってデーターを取り出すと1行にレコード一つ分のデーターを表示するのはそのままできるんですが1行にレコード二つ分のデーターを出す場合<TR>と</TR>をどういう仕組みで表示させれば良いかわかりません。 誰か教えてもらえないでしょうか?

    • 締切済み
    • PHP