Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества записей в одном запросе из 4-х таблиц. / 2 сообщений из 2, страница 1 из 1
11.10.2003, 13:32
    #32290593
Strateg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт количества записей в одном запросе из 4-х таблиц.
Не могу найти ответа на вопрос, возможно ли одним запросом подсчитать количество записей в 3-х или 4-х таблицах?

Если пишу так
select count(*) from tb_1, tb_2, tb_3, tb_4;
то в результате получаю объединённую строку 11615 со значениями 11, 6, и 15 только для первых трёх таблиц, а мне нужно получить 11 | 6 | 15 | 21 . При других комбинациях запроса, которые пробовал, выдаёт ошибку. Наверное это примитивный подход и неправильный, но правильного решения найти не могу.
Пробовал так
SELECT count(tb_1.*), count(tb_2.*), count(tb_3.*), count(tb_4.*) FROM tb_1, tb_2, tb_3, tb_4 GROUP BY ... а дальше не получается.
...
Рейтинг: 0 / 0
11.10.2003, 20:18
    #32290653
alex_24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт количества записей в одном запросе из 4-х таблиц.
Так, давай немного уточним вопрос:
тебе нужно узнать в одном запросе сумму по каждой таблице
или
тебе нужно узнать сумму всех позиций во всех таблицах.

Если первый вариант, то:
Используй инструцию UNION. Это позволит использовать все строки из всех таблиц применяя COUNT() к каждой из них.

Привожу цытирую из MANa:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
 6 . 4 . 1 . 2  Синтаксис оператора UNION

SELECT ...
UNION [ALL]
SELECT ...
  [UNION 
   SELECT ...]

Оператор UNION реализован в MySQL  4 . 0 . 0 . 

UNION используется для объединения результатов работы нескольких команд
SELECT в один набор результатов. 

Столбцы, перечисленные в части select_expression должны быть одинакового
типа. Имена столбцов, указанные в первом SELECT будут использованы как
имена столбцов для всего результата. 

Эти команды SELECT являются обычными командами выборки данных, но со
следующим ограничением: 

Только последняя команда SELECT может включать оператор INTO OUTFILE. 
Если не используется ключевое слово ALL для UNION, все возвращенные 
строки будут уникальными, так как по умолчанию подразумевается DISTINCT
для всего результирующего набора данных. Если указать ключевое слово ALL, 
то результат будет содержать все найденные строки из всех примененных 
команд SELECT. 

Если для всего результата UNION необходимо применить оператор ORDER BY, 
следует использовать круглые скобки: 

(SELECT a FROM table_name WHERE a= 10  AND B= 1  ORDER BY a LIMIT  10 )
UNION
(SELECT a FROM table_name WHERE a= 11  AND B= 2  ORDER BY a LIMIT  10 )
ORDER BY a;


Я думаю это практически исчерпывающая информация, каторая тебе нужна.

А вот если тебе необходимо что то другое - уточни вопрос.

Вообще - захиди ко мне на форум.
http://forum.webcommand.ru
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества записей в одном запросе из 4-х таблиц. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]