Как правильно запрашивать и записывать изменения в базу данных SQLite с помощью Python For Loop? - PullRequest
0 голосов
/ 26 ноября 2018

Мне нужно записать некоторые изменения в базу данных SQLite и использовать оператор For Loop для завершения этих изменений.

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

  1. Получить список групп с column_value = x
  2. Для каждой группы в этом списке получить column_id для всех column_value
  3. Получить все column_id для всех групп с именами x, y и z.
  4. Передать column_value из всехgroups to column_id.
  5. Получить group_id родительской группы, а затем получить group_id ее родительской группы.
  6. назначить / обновить этот group_id для новой группы с именем x.

Выше может не иметь особого смысла.Поэтому я включил некоторые T-SQL, которые я использовал для успешного запроса результатов.Ниже я приведу SQL, который я написал, чтобы дать всем представление о том, какие запросы я пытаюсь сделать.
У меня нет ни малейшего представления о том, как начать писать для этого скрипт на Python.Спасибо и будем благодарны всем за терпение.

-- Searchs for info links tagged with POIs named PM 
select * from info where id in (select info_id from info_relations where poi_id in (select id from poi_config where name = "PM") ); 
select *,(select name from groups where id = group_id) as groupname from poi_config where name= "AM" 

-- finding all POIs name AM and renaming them to the parent group name
update poi_config
set name = (select name from groups where id = group_id)
where name = "AM" 

-- Worry about this later. Search for PM Calendars with info links
SELECT * FROM info WHERE id IN (SELECT info_id FROM info_relations WHERE poi_id IN (SELECT ID FROM poi_config WHERE name = "PM CALENDAR") );

-- 

select * from poi_config where name = "SMP"

SELECT * FROM info WHERE id IN (SELECT info_id FROM info_relations WHERE poi_id IN (SELECT ID FROM poi_config WHERE name = "SMP") );

select * from poi_config where name = "AM" AND group_id = (select group_id from poi_config)

select * from info_relations where poi_id = 413

select * from groups where id
...