|
|
|
|
SELECT id,title,() FROM file_cat
| Что на месте () поставить, чтобы мне вернули COUNT(*) WHERE id=ИД в file_cat текущей итерации? | |
|
|
|
|
автор: ..... (10.10.2010 в 15:47) |
|
|
для: ~AquaZ~
(10.10.2010 в 14:37)
| | а где вторая таблица ? | |
|
|
|
|
|
|
|
для: .....
(10.10.2010 в 15:47)
| | Ок. В первой les_cat хранятся категории уроков
id tinyint(4)
title tinytext
| а во второй lessons - сами уроки
id bigint(20)
title tinytext
cat_id tinyint(6)
author tinytext
translator tinytext
short mediumtext
date date
views bigint(20)
vote_s bigint(20)
vote_n mediumint(9)
tag tinyint(6)
text text
| нужно выбрать категорию и количество уроков в ней. | |
|
|
|
|
автор: ..... (10.10.2010 в 18:41) |
|
|
для: ~AquaZ~
(10.10.2010 в 16:13)
| | если нигде не ошибся то
SELECT a.id, a.title, COUNT(b.id)
FROM les_cat a LEFT JOIN lessons b ON a.id=b.cat_id
GROUP BY 1, 2
|
немного сбило с толку то что b.cat_id tinyint(6) а a.id tinyint(4) | |
|
|
|
|
автор: ..... (10.10.2010 в 18:44) |
|
|
для: .....
(10.10.2010 в 18:41)
| | tinyint это 1 байт ,если UNSIGNED = 0..255 | |
|
|
|
|
|
|
|
для: .....
(10.10.2010 в 18:41)
| | Спасибо! Ещё вопрос. Как сделать число трёхзначным (т. е. с ведущими нулями)? Перерыл много сайтов, ничё не понял.
[upd через год]
Ага, UNSIGNED ZEROFILL. | |
|
|
|