Пересобираем финальный SEO action plan
Когда база пополняется, витрины нужно пересобрать, иначе отчеты будут смотреть только на старые данные.
DROP TABLE IF EXISTS seo_action_plan;
CREATE TABLE seo_action_plan AS
SELECT page_id,
url,
'CTR' AS problem_group,
recommended_action,
'high' AS priority
FROM ctr_opportunities
UNION ALL
SELECT page_id,
url,
issue_type AS problem_group,
'Исправить техническую проблему' AS recommended_action,
'critical' AS priority
FROM technical_issues
WHERE issue_type != 'OK'
UNION ALL
SELECT page_id,
url,
'Content refresh' AS problem_group,
recommended_action,
'medium' AS priority
FROM content_refresh_candidates;
DROP TABLE IF EXISTS seo_action_plan; — Удаляет старую учебную таблицу с таким именем, если она уже была создана раньше.пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.CREATE TABLE seo_action_plan AS — Создает новую таблицу из результата SELECT-запроса.SELECT page_id, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'CTR' AS problem_group, — Это текстовое значение в INSERT или рассчитанная подпись для отчета.recommended_action, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'high' AS priority — Это текстовое значение в INSERT или рассчитанная подпись для отчета.FROM ctr_opportunities — Указывает основную таблицу или источник данных для запроса.UNION ALL — Добавляет строки второго SELECT к строкам первого SELECT без удаления дублей.SELECT page_id, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.issue_type AS problem_group, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'Исправить техническую проблему' AS recommended_action, — Это текстовое значение в INSERT или рассчитанная подпись для отчета.'critical' AS priority — Это текстовое значение в INSERT или рассчитанная подпись для отчета.FROM technical_issues — Указывает основную таблицу или источник данных для запроса.WHERE issue_type != 'OK' — Начинает фильтр: дальше перечисляются условия, какие строки оставить.UNION ALL — Добавляет строки второго SELECT к строкам первого SELECT без удаления дублей.SELECT page_id, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'Content refresh' AS problem_group, — Это текстовое значение в INSERT или рассчитанная подпись для отчета.recommended_action, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'medium' AS priority — Это текстовое значение в INSERT или рассчитанная подпись для отчета.FROM content_refresh_candidates; — Указывает основную таблицу или источник данных для запроса.seo_action_plan будет создан заново уже с учетом новых страниц.
Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.