私は人々が家賃を公表できるサイトを開発しています。私は、PHP 5.2.0を使用していますとMySQL 5+他のテーブルに関連する複数のテーブルを結合するには
刊行物が作られた「、私は、このような「インターネット」などの「機能」を持っているdiferentの出版物を、持っているこの
ta_publications
+---+-------------+------+
|id | name | date |
+---+-------------+------+
| 1 | name_001 | ... |
| 2 | name_002 | ... |
| 3 | name_003 | ... |
+---+-------------+------+
のようにテーブルに格納されていますサービス "、"衛星テレビ "など
これらの機能は将来変更される可能性があり、追加/削除/変更できるようにしたいので、それらをデータベースのテーブルに保存します。次の表
ta_publication_features
+---+-------------+----------------+
|id | type_id | publication_id |
+---+-------------+----------------+
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 3 | 1 |
+---+-------------+----------------+
私はそれを理解するのは簡単だと思うを使用して出版物に関連する
ta_features
+---+-------------+
|id | name |
+---+-------------+
| 1 | Internet |
| 2 | Wi-Fi |
| 3 | satelital tv|
+---+-------------+
。インターネット、Wi-Fi、衛星テレビを持つname_001という出版物があります。
私はイメージのため、同じデータ・スキーマを持って、私は
ta_images
+---+-------------+
|id | src |
+---+-------------+
| 1 | URL_1 |
| 2 | URL_2 |
| 3 | URL_3 |
+---+-------------+
このテーブルに格納し、出版物にそれらを関連付けるために、次の表を使用し
ta_publication_images
+---+-------------+----------------+----------+
|id | img_id | publication_id | order |
+---+-------------+----------------+----------+
| 1 | 1 | 1 | 0 |
| 2 | 2 | 1 | 1 |
| 3 | 3 | 1 | 2 |
+---+-------------+----------------+----------+
列の順序を提供します1つの出版物のリストを表示する際に、その出版物の順序を表示する必要があります。
Philipp Reichartは特定の機能を持つすべての出版物を検索して取得するクエリを私に提供しました。出版物を掲載するためには機能しますが、必要なデータを返すように変更することはできません。
私はそのクエリを実行し、検索条件をパスしたすべてのパブリケーションを取得し、それらをリストするために別のクエリを使用すると考えました。
これらの刊行物のリストには、すべての出版物データ(ta_publicationsのすべて)+すべての機能+最も重要な(注文0)画像srcが含まれます。
最も重要な画像とそれに付随するすべての機能を別々に返す2つのシンプルクエリーを作成することができますが、ページあたり25個のパブリケーションをリストすると1つの検索クエリ+(2出版物ごとのクエリー* 25の出版物)=明らかにあまり効率的ではない51の異なるクエリー。
EDIT:
私の質問は、どのように私はいくつかのパブリケーションのID与えられた、SQLクエリを作成することができ、返されている:すべての出版物のデータを(ta_publications上のすべてを)+それのすべては+最も重要な(ための機能です0)image src
まあ書か質問が。 :) +投票 – Layke
あなたは実際に質問されていません。あなたが達成しようとしていることを示してください。 –
IDとその機能やトップイメージを含むすべてのパブリケーションを返すクエリを求めていますか? –