streleca_stz
Registered
Привет, имам проблем със заявката си - това, което се опитвам да направя, е да селектирам четирите записа с най-добър положителен вот (специфично за моя казус е такава ситуацията).
Стигнах го тук, но така и не иска да ми покаже правилните данни:
[sql]SELECT r.*, COUNT(c.comm_id) as comms, COUNT(u.vote_id) as ups, COUNT(d.vote_id) as downs
FROM rows r
LEFT JOIN rows_comms c ON (c.item_id = r.item_id)
LEFT JOIN votes u ON (u.group_id = r.item_group_id AND u.item_id = r.item_id AND u.vote = 1)
LEFT JOIN votes d ON (d.group_id = r.item_group_id AND d.item_id = r.item_id AND u.vote = 0)
WHERE r.approved = 1
ORDER BY ups DESC LIMIT 4"[/sql]Реално заявката минава и ми показва резултати, но каунтърите не отчитат правилно - за примера прибавих към въпросните вотове 2 за 1 запис, и 1 за друг запис и ми изкарва, че записът с 2 вота има реално 4, което не е правилно в случая....
Ще се радвам ако някой може да удари едно рамо! :?:
Стигнах го тук, но така и не иска да ми покаже правилните данни:
[sql]SELECT r.*, COUNT(c.comm_id) as comms, COUNT(u.vote_id) as ups, COUNT(d.vote_id) as downs
FROM rows r
LEFT JOIN rows_comms c ON (c.item_id = r.item_id)
LEFT JOIN votes u ON (u.group_id = r.item_group_id AND u.item_id = r.item_id AND u.vote = 1)
LEFT JOIN votes d ON (d.group_id = r.item_group_id AND d.item_id = r.item_id AND u.vote = 0)
WHERE r.approved = 1
ORDER BY ups DESC LIMIT 4"[/sql]Реално заявката минава и ми показва резултати, но каунтърите не отчитат правилно - за примера прибавих към въпросните вотове 2 за 1 запис, и 1 за друг запис и ми изкарва, че записът с 2 вота има реално 4, което не е правилно в случая....
Ще се радвам ако някой може да удари едно рамо! :?: