0

私はこれを試したことがありませんが、いくつかの異なるテーブルからのデータをエコーし​​、タイムスタンプで並べ替えたいと思います。私が持っているコードはブーレオンを思いついたのですが、その理由はわかりません。

 <?php
$result = mysql_query("SELECT * FROM artists ORDER BY timestamp DESC
UNION
SELECT * FROM news ORDER BY timestamp DESC
UNION
SELECT * FROM tracks ORDER BY timestamp DESC
UNION
SELECT * FROM gigs ORDER BY timestamp DESC
UNION
SELECT * FROM feature ORDER BY timestamp DESC");

while($row = mysql_fetch_array($result)){echo'News: <a      href="index.html">'.$row['name'].$row['title'].$row['trackname'].$row['gigname'].'</a><br>'     ;}

?>
4

1 に答える 1

0

テーブルがUNION関数の制約内にあると仮定します。

試す:

SELECT * FROM 
    (SELECT * FROM artists ORDER BY timestamp DESC
    UNION
    SELECT * FROM news ORDER BY timestamp DESC
    UNION
    SELECT * FROM tracks ORDER BY timestamp DESC
    UNION
    SELECT * FROM gigs ORDER BY timestamp DESC
    UNION
    SELECT * FROM feature ORDER BY timestamp DESC) as temp
ORDER by timestamp DESC;
于 2012-06-10T03:42:48.037 に答える