У меня есть таблицы, которые выглядят так:
Я пытаюсь присоединиться к этим двум таблицам, чтобы получить что-то вроде этого:
time | block_height | differential_pressure |
---------------------+--------------+-----------------------+
2018-09-08 11:14:10 | 83.7 | 286.84 |
2018-09-08 11:14:10 | 83.6 | 282.14 |
2018-09-08 11:14:11 | 83.4 | 298.35 |
2018-09-08 11:14:12 | 83.1 | 298.23 |
2018-09-08 11:14:12 | 82.9 | 294.76 |
2018-09-08 11:14:13 | 82.7 | 288.37 |
Но когда я запускаю следующий запрос:
SELECT * FROM rt_block_height
INNER JOIN rt_differential_pressure
ON rt_block_height.time = rt_differential_pressure.time;
Вот что я получаю:
Я не понимаю, что здесь происходит. Кажется, что были добавлены некоторые случайные дополнительные строки, но я понятия не имею, почему это происходит. В исходных таблицах всего 6 строк, но запрашиваемая таблица возвращает 10.
Не знаю, поможет ли эта информация, но это Hypertable TimescaleDB. А вот исходный код для создания таблицы:
CREATE TABLE IF NOT EXISTS public.rt_BLOCK_HEIGHT
(
"time" timestamp without time zone,
BLOCK_HEIGHT double precision
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE public.rt_BLOCK_HEIGHT
OWNER to postgres;
SELECT create_hypertable('rt_BLOCK_HEIGHT', 'time');