到目前爲止,我有我的downloads
表非規範化。我有兩個字段 - author
和country
。它們被一個空格隔開,例如:Jack James
至於author
和us uk
對於country
。非規範化表後查詢
,我決定現在是時候規範,所以我做了一個叫downloads_authors
與領域的新表(da_id
,downloads_id
,da_author
,da_country
),現在我有:
+-----+------------+---------+----------+
|da_id|downloads_id|da_author|da_country|
+-----+------------+---------+----------+
|1 |1 |Jack |us |
+-----+------------+---------+----------+
|2 |1 |James |uk |
+-----+------------+---------+----------+
到目前爲止好..但在我曾經有他們的方式,我用explode
和一個非常壞的作用,我得到了想要的結果 - <flag img> Jack, <flag img> James
現在,當我在另一張表,我不能想辦法做到這一點讓他們:
SELECT * FROM downloads
並列出沒有內部循環的相應作者(因爲如果我做了JOIN
,那麼我會一次又一次地從downloads
獲得信息)。
期望otuput是:
item
- author
item
- author
- author
我錯了有關JOIN
是它要走的路?
我只是查詢所有下載,然後查詢所有作者。循環下載並將它們分配給下載ID是密鑰的陣列。然後循環播放作者,並使用下載ID將不同的作者分配給下載的子數組。 –
但是,@JonathanKuhn,考慮到我目前有超過2000個項目,超過6000位作者,這不是一種壞方法嗎?考慮到每分鐘至少訪問一次頁面15-20次 – Nikola
爲什麼要在單個頁面上列出很多項目?分頁。 –