У меня есть две таблицы, и мне нужно выбрать один столбец из каждой из них.
Это должно быть сделано в одном запросе.
Хорошей новостью является то, что два столбца расположены в правильном порядке, и они содержат одинаковое количество строк.
Теперь я знаю, что могу присоединиться к двум таблицам по rowid, но это происходит медленно, так как для этого требуется сравнение. В моем случае это не нужно ... Мне нужно что-то более похожее на горизонтальный UNION ALL, чтобы объединить два столбца одинаковой длины.
Возможно ли что-нибудь подобное в SQLite 3?
Спасибо.
TABLE1:
| timestamp | FIELD1 | FIELD2 | ...
| 12345678 | 000000 | 000000 | ...
| 00154789 | 000000 | 000000 | ...
ТАБЛИЦА 2:
| temperature |
| 1000000000 |
| 2000000000 |
ТРЕБУЕМЫЙ ВЫБОР ВЫХОДА
| timestamp | temperature |
| 12345678 | 1000000000 |
| 00154789 | 2000000000 |
QUERY
SELECT timestamp, temperature
FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.rowid = TABLE2.rowid;
В моем тестовом приложении это занимает ~ 0,75 с. Когда я делаю два отдельных SELECT и присоединяюсь к выходам позже в моей программе, это занимает ~ 0,4 с, но это не очень удобно. Самый быстрый способ (~ 0,23 с) состоит в том, чтобы оба столбца были в одной таблице, но это расточительно, поскольку у меня есть несколько версий TABLE2, которые имеют одинаковые временные метки.