С UNION ALL
для значений из 2 столбцов и с помощью rowid для получения правильного порядка:
select nextchar from (
select
1 col,
rowid,
substr(firstname, instr(lower(firstname), 'and') + 3, 1) nextchar
from names
where firstname like '%and%'
union all
select
2,
rowid,
substr(lastname, instr(lower(lastname), 'and') + 3, 1)
from names
where lastname like '%and%'
) t
order by t.rowid, t.col
См. Демоверсию .
Результаты:
| nextchar |
| -------- |
| y |
| r |
| z |
| o |
| a |
| e |
Если вы хотите получить результат в виде строки, разделенной запятыми, используйте group_concat()
:
select group_concat(nextchar) chars from (
select nextchar from (
select
1 col,
rowid,
substr(firstname, instr(lower(firstname), 'and') + 3, 1) nextchar
from names
where firstname like '%and%'
union all
select
2,
rowid,
substr(lastname, instr(lower(lastname), 'and') + 3, 1)
from names
where lastname like '%and%'
) t
order by t.rowid, t.col
)
См. Демоверсию .
Результат:
| chars |
| ----------- |
| y,r,z,o,a,e |