У нас есть таблица ульев, как показано ниже:
num value
123 A
456 B
789 C
101 D
Таблица объединения:
num Symbols
123 ASC
456001 JEN
456002 JEN
456003 JEN
789001 CON
101 URB
Наш ожидаемый результат:
num value symbols
123 A ASC
456 B JEN
789 C CON
101 D URB
В настоящее время мы находимсяобъединение таблиц дважды, чтобы получить результаты.Как в первый раз вставить в некоторую таблицу tmp, используя следующий запрос:
select
a.num,
a.value,
b.symbols
from mytable a
join mytable b on a.num = b.num;
Этот запрос дает результаты для keys 123,101.
Далее мы выполняем другой запрос, как показано ниже:
select
a.num,
a.value,
b.symbols
from mytable a
join mytable b on CONCAT(a.num,'001') = b.num;
Этот запрос выдает результаты для keys 456, 789
.
Эти результаты двух запросов вставляются в некоторую таблицу кустов tmp, и мы выбираем окончательные результаты из таблицы tmp.
В целом это выглядит плохо.но я хотел бы знать, есть ли лучший способ достичь этого.Спасибо.
Результат запроса
за
Select
a.num
,a.value
,b.symbols
from
(select substr(num,3) as num, value from table)a
join
(select substr(num,3) as num, symbols from table) b
on a.num = b.num
a.num a.value b.symbols
3 A ASC
1 D URB