2015-10-13 60 views
-6

收到的所有收視率我有3個表如何列出用戶

吸引用戶和評級

用戶包含USER_ID,吸引包含了平局和user_ID的一個id誰是平局的所有者,在收視表中,我保存給出評分的用戶,draw_id和給出的分數。現在我需要向用戶列出他收到的投票,所以我需要在收視表中查看哪些用戶已經對他的投票進行了投票,但是我不知道是怎麼回事,因爲我試過的查詢只列出了1條記錄,而我需要所有記錄。

類似這樣的:

5星|繪製名稱|用戶

4星|繪製名稱|用戶

這是我迄今爲止的查詢,我實現了顯示最多投票的用戶,但沒有這個。

SELECT u.usuario, u.id_usuario, d.id, COUNT(v.id) AS votos 
FROM valoraciones v 
JOIN dibujos d ON v.id_dibujo = d.id 
JOIN usuarios u ON v.id_quien = u.id_usuario GROUP BY v.fecha ORDER BY votos DESC 

這讓我瘋狂。

感謝所有幫助

+3

你也把我通過解釋句子架構,而不是SQL小提琴或繪畫在這裏瘋狂。 – niksofteng

+0

如果沒有任何數據或類似信息,它必須確切地說出了什麼問題,但我會先嚐試刪除GROUP BY以獲取關於發生的事情的線索。 – bestprogrammerintheworld

+0

@vnikhil好吧,你是對的,我要把它上傳到小提琴,http://sqlfiddle.com/#!9/10b26/2 –

回答

1

好吧,這裏有些人認爲是可笑downvote後,嗯,我張貼的解決方案,因爲我知道,它可以是有益的到。

這是查詢我建:

SELECT u.usuario, u.id_usuario, d.id, v.valoracion, v.fecha 
FROM icar_valoraciones v 
JOIN icar_dibujos d ON v.id_dibujo = d.id 
JOIN icar_usuarios u ON v.id_quien = u.id_usuario WHERE d.id_quien = '{ID OF THE USER LOGGED IN}' GROUP BY v.id ORDER BY v.fecha DESC 

你可以在這裏找到它=>http://sqlfiddle.com/#!9/b44fe/2

相關問題