簡體   English   中英

從具有相同名稱的多行中獲取結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM