[英]Get results from multiple rows with same names
我有一些內容各異的桌子。 我要完成的是在div中顯示這些表中的20條最新條目。
這是我的第一張桌子-audio1
userID folder title date
其他兩個文件夾看起來完全一樣
音頻2
userID folder title date
音頻3
userID folder title date
如何在同一時間從所有表中獲取數據,並用PHP逐一將它們回顯到按日期排序的div?
SELECT userID, folder, title, date
FROM audio1
UNION ALL
SELECT userID, folder, title, date
FROM audio2
UNION ALL
SELECT userID, folder, title, date
FROM audio3
ORDER BY date DESC LIMIT 20;
您的SQL查詢將是3部分的UNION
。 當不需要JOIN
關系,而是只需要從多個表返回行時, UNION
查詢將來自具有(通常)相似結構的多個表的結果連接起來。
$sql = "SELECT userID, folder, title, date FROM audio1
UNION ALL
SELECT userID, folder, title, date FROM audio2
UNION ALL
SELECT userID, folder, title, date FROM audio3
LIMIT 20;";
$result = mysql_query($sql);
if ($result) {
// Fetch results and echo them into a list.
}
您將需要一列ORDER BY
。 這可能是date
,但是您可能還有其他計划。 在LIMIT 20
之前添加一個ORDER BY
子句。
看來您的數據庫設置是錯誤的,您只需要一個名為“ audio”的表,其中一個字段表示表名中當前正在使用的數字。
您可以嘗試合並,也可以嘗試加入。
SELECT
COALESCE(t1.userID, t2.userID, t3.userID) as userID
, t1.folder, t1.title, t1.date
, t2.folder, t2.title, t2.date
, t3.folder, t3.title, t3.date
FROM table1 t1
FULL OUTER JOIN table2 t2 ON (t1.userID = t2.userID)
FULL OUTER JOIN table3 t3 ON (t1.userID = t3.userID)
這是完全不同的野獸,所以我想我會給你選擇的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.