Форум.orn

HARD&SOFT => Программирование => WEB => Тема начата: I-one от 19 Марта 2007, 18:57:20

Название: Help
Отправлено: I-one от 19 Марта 2007, 18:57:20
Такая беда, в базе есть три таблицы, как мне одним запросом узнать количество записей в каждой из них?
пробовал:
"SELECT count(table_01.id) AS count_1, count(table_02.id) AS count_2 FROM table_01, table_02;
Срабатывает, но возвращается полная лабуда(
Название: Help
Отправлено: alluvian от 19 Марта 2007, 21:02:04
Смотри, оператор count вычисляет количество кортежей в отношении, создаваемом на основе отношений перечисленных в разделе from.
А у тебя перечислены 2 отношения, поэтому тебе будет возвращено одинаковое кол-во строк.
Я бы на твоем месте воспользовалась оператором объединения union.

SELECT count(*)
FROM table_01
union
SELECT count(*)
FROM table_02
union
SELECT count(*)
FROM table_03
Название: Help
Отправлено: I-one от 19 Марта 2007, 23:58:01
:kez_11: в шоке) не ожидал такой ответ услышать от девушки)))
Название: Help
Отправлено: I-one от 20 Марта 2007, 00:08:10
И еще, какой возвращается результат? Как его разобрать?
Название: Help
Отправлено: alluvian от 20 Марта 2007, 10:46:54
Возваращает результат вот так:
3
2
1
Причем 1 - это кол-во строк в таблице table_03, 2 - table_02 и т.д
Название: Help
Отправлено: I-one от 20 Марта 2007, 18:20:45
Патибо!!!!