MYSQL заполнить столбец из таблицы значений - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть таблица mysql со следующими значениями:

Filename  value
FileA1    11
FileA2    12
FileA3    13
FileA4    14
FileA5    15
FileA6    16
FileA7    17
FileA8    18
FileB1    21
FileB2    22
FileB3    23

Я хочу, чтобы таблица заполнила отсутствующий FileB (4-8) из значений FileA (4-8) следующим образом:

Filename  value
FileA1    11
FileA2    12
FileA3    13
FileA4    14
FileA5    15
FileA6    16
FileA7    17
FileA8    18
FileB1    21
FileB2    22
FileB3    23
FileB4    14
FileB5    15
FileB6    16
FileB7    17
FileB8    18

Возможно ли это с помощью команд mysql или использовать php вот так?

Спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

что-то вроде этого может работать:

select a.filename, a.value
from <table> a

union

select replace(a.filename, 'FileA', 'FileB'), a.value
from <table> a
    left join <table> b on a.filename = replace(b.filename, 'FileB', 'FileA')
where a.fileName like 'FileA'
and b.filename is null;

Правильный ответ

select a.filename, a.value
from testtable a

union

select replace(a.filename, 'FileA', 'FileB'), a.value
from testtable a
    left join testtable b on replace(a.filename, 'FileA', 'FileB') = b.filename
where a.fileName like 'FileA%'
and b.filename is null;

Заполнить отсутствующими данными

insert into testtable (fileName, value)
select replace(a.filename, 'FileA', 'FileB'), a.value
from testtable a
    left join testtable b on replace(a.filename, 'FileA', 'FileB') = b.filename
where a.fileName like 'FileA%'
and b.filename is null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...