MySQL на несколько таблиц для сравнения - PullRequest
0 голосов
/ 09 мая 2018

Поддержка У меня есть несколько таблиц (X, Y, Z) точно такой же структуры. Таблицы имеют поле DATETIME и поле DATA. Я хочу извлечь и сравнить значения DATA на основе одного и того же DATETIME для всех таблиц. Предполагая, что все таблицы имеют одинаковые значения DATETIME, но разные данные. Каким будет SQL-выражение?

Я не могу заставить его работать. Вот таблицы:

Таблица: A

DATETIME | ВЫСОКИЙ | LOW

01: 00 | 0,1 | 2,4

02: 00 | 0,2 | 3,0

03: 00 | 0,8 | 0,7

04: 00 | 1,3 | 1,1

Таблица: B

DATETIME | ВЫСОКИЙ | LOW

01: 00 | 0,1 | 2,4

02: 00 | 0,2 | 3,0

03: 00 | 0,8 | 0,7 * * тысяча двадцать-пять 04: 00 | 1,3 | 1,1

Таблица: C

DATETIME | ВЫСОКИЙ | LOW

01: 00 | 0,1 | 2,4

02: 00 | 0,2 | 3,0

03: 00 | 0,8 | 0,7

04: 00 | 1,3 | 1,1

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

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Я отправлю новый ответ, увидев, что ваш вопрос изменился. Вам необходимо выполнить соединение между этими таблицами:

SELECT * FROM
(A JOIN B ON A.datetime = B.datetime)
JOIN C ON B.datetime = C.datetime

Это создаст таблицу со столбцами:

datetime | A.high | A.low | B.high | B.low | C.high | C.low
0 голосов
/ 09 мая 2018

Это похоже на случай оператора JOIN.

SELECT * FROM X JOIN Y ON X.datetime = Y.datetime JOIN Z on Y.datetime = Z.datetime

Это должно дать вам строки с одним столбцом datetime и столбцами X.data, Y.data и Z.data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...