powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Получение результирующей таблицы из трех.
6 сообщений из 6, страница 1 из 1
Получение результирующей таблицы из трех.
    #39825003
пыхтачек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Помогите plz.

Пусть будет, есть 3 таблицы.
1. Таблица. ID, Город, Тип знака, Расположение.

CREATE TABLE `data_sign` (
id` INTEGER NOT NULL UNIQUE,
`City` TEXT NOT NULL,
`Sign type` TEXT NOT NULL,
`Location` TEXT
);

2. ID, Город, Тип люка, Расположение.
CREATE TABLE `data_hatch` (
`id` INTEGER NOT NULL UNIQUE,
`City` TEXT NOT NULL,
`Hatch type` TEXT NOT NULL,
`Location` TEXT
);
3. ID, Город, Тип фонаря, Расположение.

CREATE TABLE `data_post` (
`id` INTEGER NOT NULL UNIQUE,
`City` TEXT NOT NULL,
`Post type` TEXT NOT NULL,
`Location` TEXT
);

Что нужно. Нужно вывести таблицу с следующими колонками

Город | Общее кол.во знаков | Общее кол.во люков | Общее кол.во фонарей

Если у города нет фонарей, писать просто 0

Как по одному выводить ясно и понятно, как вывести что бы из трех таблиц да еще в одном запросе не ясно.

Заранее спасибо.
...
Рейтинг: 0 / 0
Получение результирующей таблицы из трех.
    #39825014
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UNION ALL
...
Рейтинг: 0 / 0
Получение результирующей таблицы из трех.
    #39825045
пыхтачек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается, делал так
Код: sql
1.
2.
3.
4.
5.
SELECT City, COUNT(City) AS  post, 0 AS sign, 0 AS hatch  FROM data_post 
UNION ALL
SELECT City, 0 AS  post, COUNT(City) AS sign, 0 AS hatch  FROM data_sign 
UNION ALL
SELECT City, 0 AS  post, 0 AS sign, COUNT(City) AS hatch FROM data_hatch GROUP BY City



Выдает ерунду
...
Рейтинг: 0 / 0
Получение результирующей таблицы из трех.
    #39825087
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам на SQL Lite не проверял (но I-net увреяет SQL Lite поддерживает вложенные запросы)

Считать нужно после union all

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select city, sum(post) as sum_post, sum(signals) as sum_signals, sum(hatch) as sum_hutch from
(
  select city as city, 1 as post, 0 as signals, 0 as hatch from data_post 
  union all
  select city as city, 0 as post, 1 as signals, 0 as hatch from data_sign
  union all
  select city as city, 0 as post, 0 as signals, 1 as hatch from data_hatch
) tt
group by city



IMHO & AFAIK
...
Рейтинг: 0 / 0
Получение результирующей таблицы из трех.
    #39825106
пыхтачек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Заработало, надо почитать по вложенные запросы. К сожалению поверхностно знаком с TSQL.

Спасибо большое =)
...
Рейтинг: 0 / 0
Получение результирующей таблицы из трех.
    #39825626
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пыхтачекLeonid Kudryavtsev,

Заработало, надо почитать по вложенные запросы. К сожалению поверхностно знаком с TSQL.

Спасибо большое =)SQLite не использует TSQL.
Диалект использующийся в SQLite' так и называется SQLite.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Получение результирующей таблицы из трех.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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