Как вставить в строку значение из другой таблицы? - PullRequest
0 голосов
/ 29 мая 2020

У меня 3 Mysql таблиц.

Таблица с классами, лабораторными работами и их идентификаторами.

Таблица со списком учителей и их предметом. Таблица, которая будет расписанием. **

Я хочу случайным образом назначить одного из физиков в одну из физических лабораторий в моей третьей таблице, которая будет расписанием.

INSERT INTO schedule(teacher_name, class_id)
VALUES (select teacher_name from teachers_list where subject="Physicist” order by rand() limit 1, 

select id from lab_list where lab="Physics_lab" order by rand() limit 1);

** Этот не работает :(

Вы можете мне помочь? **

1 Ответ

0 голосов
/ 29 мая 2020

Я думаю, вам нужен синтаксис insert ... select вместе с подзапросом:

insert into schedule(teacher_name, class_id)
select 
    (
        select teacher_name 
        from teachers_list 
        where subject = 'Physicist'
        order by rand()
        limit 1
    ),
    id
from lab_list
where lab = 'Physics_lab'
...