SELECT в Mysql

Добрый день!

Есть запрос:

SELECT players.uname, itemtypes.it_name,count( playerittemtype.itemtype ) AS count
FROM itemtypes, playerittemtype, players
WHERE itemtypes.`it_id` = playerittemtype.`itemtype` 
AND players.`uid` = playerittemtype.`player` 
GROUP BY playerittemtype.`itemtype`

при выводе запроса выводится имя пользователя, название предмета и количество предмета. И вот в чем загвоздка: количество предметов выводится то, которое находится в таблице, а мне нужно, чтобы выводило только количество одного предмета, который назначен данному пользователю. Помогите советом?

2 ответа

вообще то этот запрос не может выполняться, потому что синтаксически неверен - нельзя выбрать поля, по которым нет группировки

уточните, какая цель - посчитать сумму playerittemtype.itemtype? тогда в параметрах count() поставьте звездочку


SELECT t_players.uname,t_itypes.it_name,COUNT(t_pit.itemtype) AS t_count FROM playerittemtype AS `t_pit` LEFT JOIN players AS `t_players` ON (players.uid=t_pit.player) LEFT JOIN itemtypes AS `t_itypes` ON (itemtypes.it_id=t_pit.itemtype) GROUP BY t_pit.itemtype

Попробуйте через join.

licensed under cc by-sa 3.0 with attribution.