我正在開發一個網站,人們可以將他們的房屋出租。我使用的PHP 5.2.0和MySQL 5+如何加入其他表格相關的多個表格
出版物存儲在表像這樣
ta_publications
+---+-------------+------+
|id | name | date |
+---+-------------+------+
| 1 | name_001 | ... |
| 2 | name_002 | ... |
| 3 | name_003 | ... |
+---+-------------+------+
我有diferent出版物,其中有「特色」,如「互聯網」,「發服務「,」衛星電視「等。
這些功能可能會在將來發生變化,我希望能夠添加/刪除/修改它們,因此我將它們存儲在數據庫中的表中。
ta_features
+---+-------------+
|id | name |
+---+-------------+
| 1 | Internet |
| 2 | Wi-Fi |
| 3 | satelital tv|
+---+-------------+
其使用下表
ta_publication_features
+---+-------------+----------------+
|id | type_id | publication_id |
+---+-------------+----------------+
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 3 | 1 |
+---+-------------+----------------+
我認爲這是很容易理解的相關出版物;有一個名爲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 |
+---+-------------+----------------+----------+
列的順序給出了列出單個出版物時應顯示出版物的順序。
Philipp Reichart向我提供了一個查詢,它將搜索並獲取所有具有某些功能的出版物。它用於列出出版物,我無法修改它以將我需要的數據返回給我。
所以我想我會運行該查詢並獲取所有通過搜索條件的發佈,然後使用另一個查詢來列出它們。
這些出版物的列表應包括所有出版物數據(ta_publications上的所有內容)+所有特徵+最重要的(訂單0)圖像src。
對於每個出版物,我都可以有兩個簡單的查詢,它們將單獨返回最重要的圖像及其所有功能,但每頁列出25份出版物時,它將爲1個搜索查詢+(2每個出版物查詢* 25個出版物)= 51個不同的查詢,顯然效率不高。
編輯:
我的問題是,我怎麼可以創建,給予一定的發佈ID的SQL查詢,將返回:所有發佈的數據(上的一切ta_publications)+它的所有功能+最重要的(訂單0)image src
寫得很好的問題,因爲你是那麼的新鮮。 :) + vote – Layke
你實際上沒有問過問題。顯示你想要達到的目標。 –
那麼你是要求一個查詢返回所有的出版物,按ID,包括他們的功能和頂部圖像? –