2014-01-13 50 views
1

我有這兩個查詢:創建一個單一的查詢2查詢

SELECT COUNT(*) as cnt, video.title 
FROM tags 
INNER JOIN tag_name ON tags.tag_name_id = tag_name.tag_name_id 
INNER JOIN video ON video.filename = tags.filename 
WHERE tag_name.tag LIKE 'tree' 
GROUP BY filename 

SELECT COUNT(*) as cnt2 FROM tags GROUP BY filename 

放在了第一位,我有一個統計的次tag「樹數的計數器「出現在每個單獨的視頻中。

第二個,我從每個視頻中選擇標籤的總數。

結果可以在這裏成立:1st query < - >2nd query

現在我試圖「加入」其中,通過使用子查詢的方法,但我不正確的結果出來..這些計數器並不像我預期的那樣工作,你可以看到here

我在做什麼錯?我怎樣才能正確地「加入」這兩個查詢?

+0

不要向我們發送圖片試試這個(SELECT COUNT(*) AS cnt2 FROM tags WHERE filename=t.filename) vcnt。只需提供一個sqlfiddle – Strawberry

回答

1

使用子查詢corelated從標籤計數的所有記錄,其中子查詢的文件名是等於t.filename父表的文件名即標記TM

​​
+0

完美! :D如果問題不是太多,你能解釋一下你做了什麼,以及爲什麼我的方法不起作用? – zppinto

+0

有沒有範圍ro簡化這個? – Strawberry

+0

這太好了草莓!我不明白已經做了什麼,但它完美的作品! – zppinto