Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Получение результирующей таблицы из трех. / 6 сообщений из 6, страница 1 из 1
10.06.2019, 16:01
    #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
10.06.2019, 16:18
    #39825014
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение результирующей таблицы из трех.
UNION ALL
...
Рейтинг: 0 / 0
10.06.2019, 17:21
    #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
10.06.2019, 18:56
    #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
10.06.2019, 19:52
    #39825106
пыхтачек
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение результирующей таблицы из трех.
Leonid Kudryavtsev,

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

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

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

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


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