Я перемещаю данные из одной БД в другую (обе postgresql). Я хочу объединить значения столбцов имени и фамилии из исходной БД в столбец имени целевой БД. Когда я пытаюсь выполнить запрос, я получаю сообщение об ошибке: psycopg2.ProgrammingError: more than one row returned by a subquery used as an expression
При проверке других потоков здесь, в SO, я обнаружил сцепление . Я добавил LIMIT 1 в код, но он дает мне имя и фамилию существующего имени в таблице.
Мой код:
cur_t.execute("""
SELECT firstname, lastname
FROM authors;
""")
for row in cur_t:
cur_p.execute("""
INSERT INTO lib_author (
created, modified, last_name,
first_name, country,
school_id, name)
VALUES (current_timestamp, current_timestamp, %s, %s, %s,
(SELECT id FROM ed_school WHERE name='My Test School'),
(SELECT CONCAT(first_name, ',', last_name) AS name FROM lib_author LIMIT 1)
)
""", (row['lastname'], row['firstname'], ''))
Как мне вызвать столбец имени и фамилии из исходной БД?