Я пытаюсь собрать вместе ie записей в таблице. Я ищу все записи, которые имеют нулевое значение в определенном столбце и хотят извлечь значение из этого столбца из записей, которые имеют значение в столбце. Примерные данные могут выглядеть следующим образом ...
MASTER_KEY NAME
---------- ------------
1 Ben
2 Norman
Ben
Jane
И после выполнения запроса я бы хотел, чтобы таблица выглядела следующим образом ...
MASTER_KEY NAME
---------- ------------
1 Ben
2 Norman
1 Ben
Jane
Вот такой из SQL Я пытаюсь добраться до ...
UPDATE tbl new
JOIN (SELECT master_key, name
FROM tbl
WHERE master_key IS NOT NULL) old
ON (new.master_key is NULL
AND old.name = new.name)
SET new.master_key = old.master_key
Поработав с этим некоторое время, я подумал, что решил его с помощью общих табличных выражений (CTE), только чтобы найти, что MySQL не поддерживает их до v8 (я на 5.7, и я думаю, что это последняя версия, поддерживаемая Google Cloud SQL, мой конечный пункт назначения.)
У меня был код, который сгенерировал SQL как текст, но я надеялся использовать конструкции SQLAlchemy, чтобы со временем получить больше независимости от базы данных.
Есть какие-нибудь идеи о том, как это сделать в SQLAlchemy без CTE? Спасибо!