1 (изменено: marino13, 2022-07-07 10:29:16)

Тема: Перенос данных из одного столбца в другой

Почему при переносе данных из одного столбца в другой, данные переносятся только друг под другом в соседний столбец, как сделть чтобы они были рядом (вместо NULL)?

create table test_1(
    id INT PRIMARY KEY AUTO_INCREMENT, 
    title varchar(100)
);

create table test_2(
    id INT PRIMARY KEY AUTO_INCREMENT, 
    title varchar(100)
);

create table test_3(
    id INT PRIMARY KEY AUTO_INCREMENT, 
    title varchar(100)
);

create table main(
    id INT PRIMARY KEY AUTO_INCREMENT,
    t1_id INT,
    t2_id INT,
    t3_id INT,
    FOREIGN KEY (t1_id)  REFERENCES test_1 (id),
    FOREIGN KEY (t2_id)  REFERENCES test_2 (id),
    FOREIGN KEY (t3_id)  REFERENCES test_3 (id)
);

insert into test_1(id, title) values (1,'vaya');
insert into test_1(id, title) values (2,'lll');

insert into test_2(id, title) values (1,'ivan');
insert into test_2(id, title) values (2,'222');

insert into test_3(id, title) values (1,'ivan');
insert into test_3(id, title) values (2,'222');

INSERT INTO `main` (`t1_id`) SELECT (`id`) FROM `test_1`;
INSERT INTO `main` (`t2_id`) SELECT (`id`) FROM `test_2`;
INSERT INTO `main` (`t3_id`) SELECT (`id`) FROM `test_3`;

select * from main;


https://onecompiler.com/mysql/3y99atu5h

2

Re: Перенос данных из одного столбца в другой

INSERT INTO `main` (`t1_id`, `t2_id`, `t3_id`) SELECT (Здесь выборка необходимых полей из трех таблиц одним запросом);