こんばんは、私は Web プログラミングの初心者で、SQL クエリに固有の問題を解決するためにあなたの助けが必要です。私が使用しているデータベース エンジンは MySQL で、PHP 経由でアクセスします。ここでは、アイデアを修正するために、単純化したバージョンのデータベースについて説明します。teams、teams_information、の 3 つのテーブルを含むデータベースで作業するとしますattributes。より正確に:
1)teamsは、イタリアのサッカー チーム (アメリカン フットボールではなく、サッカー) に関するいくつかの基本的な情報を含むテーブルで、次の 3 つのフィールドで構成されています: 'id' ( int, primary key), 'name' (varchar, チーム名), nickname( Varchar, チーム ニックネーム) ;
2)は、 (チームがホーム マッチを行う都市)、(チーム キャプテンのフルネーム)、(ファンの数)attributesなど、サッカー チームに関する可能な情報のリストを含むテーブルです。このテーブルは、 id 、( 、属性の識別子)、(テキスト、属性の意味の説明) の3 つのフィールドで形成されます。このテーブルの各レコードは、サッカー チームの 1 つの可能な属性を表します。citycaptainf_number(int, primary key)attribute_namevarcharattribute_desc
3)teams_informationは、表にリストされているチームに関するいくつかの情報teamが利用可能な表です。このテーブルには、id ( int、主キー)、team_id( int、チームを識別する外部キー)、 attribute_id( 、テーブルintにリストされた属性の 1 つを識別する外部キー)、 ( 、属性の値) の 3 つのフィールドが含まれます。各レコードは、1 つのチームの 1 つの属性を表します。一般に、チームが異なれば情報の数も異なるため、一部のチームでは多数の属性を使用できますが、他のチームでは少数の属性しか使用できません。attributesattribute_valuevarchar
と の関係は 1 対多であり、との間teamsにteams_informationは同じ関係が存在することに注意してください。attributesteams_information
さて、このモデルを考えると、私の目的は (おそらく ExtJS 4.1 を使用して) グリッドを実現してイタリアのサッカー チームのリストをユーザーに表示することです。このグリッドの各レコードは単一のサッカー チームを表し、すべての可能な属性を含みます。空 (考慮されたチームの場合、対応する属性が不明であるため) であり、その他の属性にはteams_information(考慮されたチームの) テーブルに格納された値が含まれます。上記のグリッドのフィールドによると、id、team_name、および「属性」テーブルにリストされているすべての異なる属性を表す多数のフィールドがあります。
私の質問は: SINGLE SQL クエリ (SELECTデータベース テーブルから必要なすべてのデータを取得するための適切なクエリ) を使用して、このようなグリッドを実現できますか? 同様のクエリを作成する方法を誰かに提案できますか (存在する場合)。
助けてくれてありがとう。
よろしく。
エンリコ。