2013-01-31 104 views
0

我爲NOOB問題的appologise,但我無法讓我的頭圍繞從兩個表加入結果。加入兩個SQL語句

我有一個表(表A)與類別的鏈接條目有列entry_id和CAT_ID

我有另一個表(tableB的)纔是最重要的entry_id已經對時間戳觀看次數

我想從tableB中得到entry_id的列表,它們按照它們被tableA中的cat_id查看和過濾的次數排序。

我有兩個SQL語句,但無法弄清楚如何把它們放在一起。

聲明1 - 某個特定類別中獲得entry_id的:

SELECT entry_id FROM tableA WHERE cat_id = "" 

聲明2 - 從tableB的獲取entry_id的的排序列表:

SELECT entry_id FROM tableB GROUP BY entry_id ORDER BY COUNT(*) DESC 

謝謝!

+1

你讀過任何教程? W3School是一個開始的好地方。 http://www.w3schools.com/sql和更具體http://www.w3schools.com/sql/sql_join.asp –

+0

嗨凱文 - 是的,我讀了一大堆tutes我只是很慢(!)感謝您的評論。 – Tomtids

回答

1
SELECT 
    tableb.entry_id, 
FROM 
    tableb 
    INNER JOIN tablea 
    ON tableb.entry_id = tablea.entry_id 
    AND tablea.cat_id = "" 
GROUP BY 
    tableb.entry_id 
ORDER BY 
    COUNT(*) DESC 
+0

啊 - 一個稍微不同的方法。我會嘗試他們兩個。謝謝! – Tomtids

1

試試這個:

SELECT 
    A.entry_id, Count(B.entry_id) Viewed 
FROM TableA A 
LEFT JOIN TableB B 
    ON A.entry_id = B.entry_id 
WHERE A.Cat_Id = 5 -- your cat_id 
GROUP BY A.entry_id 
ORDER BY Count(B.entry_id) DESC 
+0

非常好,謝謝哈姆雷特 - 這是我第一次把整個信件分配給一張桌子。歡呼:) – Tomtids

+0

@Tomtids在上面的解決方案,你有損失的條目,從來沒有看過。 –

+0

接受的答案實際上爲我檢索了正確的信息。我只想要符合當前類別ID的條目ID ...感謝您的幫助。 – Tomtids