SQL оператор условного извлечения нескольких таблиц - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь получить данные из таблицы sqlite, условно другой таблицы sqlite в той же базе данных. Форматы следующие:

master table
--------------------------------------------------
| id         | TypeA    | TypeB      | ...     
--------------------------------------------------
| 2020/01/01 | ID_0-0   |ID_0-1      | ...
--------------------------------------------------
child table

--------------------------------------------------
| id         | Attr1    | Attr2      | ...     
--------------------------------------------------
| ID_0-0     | 112.04   |-3.45       | ...
--------------------------------------------------

Я хочу написать запрос sqlite3, который принимает:

  • Дата D присутствует в master.id
  • Список типов, присутствующих в столбцах мастера
  • Список атрибутов, присутствующих в дочерних столбцах

и возвращающий фрейм данных со строками типов и столбцами атрибутов. Конечно, я мог бы просто прочитать таблицы в pandas и выполнить работу там, но я думаю, что это будет более требовательным к вычислениям, и я хочу узнать больше SQL синтаксис!

ОБНОВЛЕНИЕ До сих пор я пытался:

"""SELECT *
   FROM child 
   WHERE EXISTS
       (SELECT *
        FROM master
        WHERE master.TypeX  = Type_input
        WHERE master.dateX  = date_input)"""

, а затем объединить строки по всем требуемым TypeX и dateX и выполнить с:

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