2014-05-04 33 views
0
SELECT t.dateline AS date,t.tid, t.subject, u.avatar,t.views, t.username, t.replies, u.profilepic, t.uid, p.thumbsup, t.firstpost, f.name, f.fid, p.message, a.updatetime, a.md5hash, a.uploadtime, a.aid, a.attachname, a.filename, a.thumbs, td.vidid, td.cat, td.portada 
FROM ". TABLE_PREFIX ."threads t 
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) 
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) 
LEFT JOIN ".TABLE_PREFIX."xtattachments a ON (a.tid=t.tid) 
LEFT JOIN ".TABLE_PREFIX."threadfields_data td ON (td.tid=t.tid) 
LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost) 
WHERE t.fid IN ($f4id) AND t.uid IN ($show_post_list) 

UNION ALL 

SELECT th.dateline AS date, th.thumbsup, th.uid 
FROM ". TABLE_PREFIX ."thumbspostrating th 


ORDER BY date DESC 
LIMIT ".(($page-1)*$perpage).", ".$perpage); 

例子:兩個不同的表中的一個輸出在MySQL

  1. 主題頭號界線:今天
  2. 像頭號界線:昨天下午1:10
  3. 主題二號界線:昨天1 :09pm
  4. 像第二條日期:昨天下午1:08
  5. 像第三條日期:昨天1:07 pm
  6. 第三條日期線:昨天下午1:05

我不知道爲什麼這不起作用? 在ORDER BY < - 我需要t.datelinel.dateline爲一個做這個例子。

1222 - 所使用的SELECT語句具有不同的列數

+1

定義命令:'不work'? – CodeBird

+0

是uid在這裏定義爲一列嗎? –

+1

1222 - 使用的SELECT語句有不同數量的列 當然t.uid和th.uid –

回答

0

ORDER BY的僅適用於第二個查詢:

Select * From (
SELECT t.dateline, t.name, u.avatar 
FROM ". TABLE_PREFIX ."threads t 
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) 

UNION ALL 

SELECT l.dateline, l.name, l.avatar 
FROM ". TABLE_PREFIX ."likes l 
LEFT JOIN ".TABLE_PREFIX."treads t ON (t.uid=l.uid)) allData 

ORDER BY allData.dateline DESC 
LIMIT 10; 
+0

是「uid」一列嗎? –

1

你可以嘗試做的界線添加到您的選擇,選擇L .dateline作爲日期線,l.name,l.avatar。

這對我有用。如果不工作,你總是可以做你選擇一個選擇,然後導致它會讀這樣的事情

SELECT dateline, name, avatar FROM ( 
    SELECT t.dateline, t.name, u.avatar 
    FROM ". TABLE_PREFIX ."threads t 
    LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid) 

    UNION ALL 

    SELECT l.dateline, l.name, l.avatar 
    FROM ". TABLE_PREFIX ."likes l 
    LEFT JOIN ".TABLE_PREFIX."treads t ON (t.uid=l.uid) 
) as x 
ORDER BY x.dateline DESC 
LIMIT 10; 
+0

在這裏是一個專欄? –

+0

t.uid和th.uid –

+0

它發送和錯誤: 1222 - 使用的SELECT語句有不同數量的列 –

相關問題