как получить count() определенной таблицы?

Romantik

TeaM PHPClub
как получить count() определенной таблицы?

приветствую!
Делаю:
SELECT COUNT(id) AS wares_id FROM wares
все ок!
SELECT client.id AS client_id, COUNT(wares.id) AS wares_id FROM wares, client
пишет Warning: Supplied argument is not a valid MySQL result resource in .....
Как правильно получить кол-во wares.id ?
Заметил, что если
wares- кол-во записей к примеру 12
client-- кол-во записей к примеру 2
то
SELECT COUNT(wares.id) AS wares_id FROM wares -12 записей
SELECT COUNT(wares.id) AS wares_id FROM wares, client -24 записи(12*2)

где у меня ошибки?
Заранее благодарен.
 

Demiurg

Guest
count() дает количество записей в запросе, а не в таблице. Поэтому после объеденения wares и client получается 24 записи. А на счет этой ошибки: echo mysql_error();
 

Romantik

TeaM PHPClub
Автор оригинала: Demiurg
count() дает количество записей в запросе, а не в таблице. Поэтому после объеденения wares и client получается 24 записи
Спасибо!
Как же тогда грамотно получить кол-во строк одной таблицы в запросе, в котором используется несколько таблиц?
 

Demiurg

Guest
А зачем получать в этом запросе количество записей в таблице ? Лучше всего вынести это во второй запрос.

ЗЫ select count(*) from table работает очень быстро в mysql.
 

tony2001

TeaM PHPClub
...причем count(*) особо выделена в мануале из-за быстроты выполнения.
 

C.H.

Guest
попробуй объединить таблицы wares и client, а то он тебе выдает декртовое умножение таблицы wares на client (12х2=24)
Ну например гденубудь client.id=wares.id, или что-то вроде этого :)
 

PePeS

Guest
Re: как получить count() определенной таблицы?

Автор оригинала: Romantik
приветствую!
Делаю:
SELECT COUNT(id) AS wares_id FROM wares
все ок!
SELECT client.id AS client_id, COUNT(wares.id) AS wares_id FROM wares, client
пишет Warning: Supplied argument is not a valid MySQL result resource in .....
Как правильно получить кол-во wares.id ?
Заметил, что если
wares- кол-во записей к примеру 12
client-- кол-во записей к примеру 2
то
SELECT COUNT(wares.id) AS wares_id FROM wares -12 записей
SELECT COUNT(wares.id) AS wares_id FROM wares, client -24 записи(12*2)

где у меня ошибки?
Заранее благодарен.
Ты получаешь то, что просишь. Если ты посмотришь на результат без count, то ты поймешь.
Сделай SELECT * FROM wares, client. У тебя таблица warez будет повторяться вместе с каждой записью в таблице client. Чтобы выбрать количество wares для каждого клиента сделай дополнительное условия типа
SELECT COUNT(*) AS exp, client.ID
FROM client, wares
WHERE client.ID = wares.ID_client GROUP BY client.ID,
типа как сказал C.H.
 

Demiurg

Guest
PePeS, зачем надо было повторять то, что сказал C.H., да еще и в два раза большим объемом ?
 
Сверху