Связывание двух столбцов в одной таблице - PullRequest
0 голосов
/ 30 января 2020

В моей таблице есть следующие столбцы:

Title  |   Title Root
-------|--------------
A      |   null
B      |   A
C      |   D
D      |   null
E      |   null
F      |   E

Мне нужно, чтобы мой запрос мог видеть, что строки типа B, C и F имеют значение в Title_ Root и отобразить соответствующий заголовок этого title_ root. Например: у B есть Title_ root = A. Итак, покажите заголовок A. Однако я не хочу, чтобы он отображал заголовок B.

Надеюсь, это имеет смысл. Я только начал делать запросы.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Кажется, что простой оператор обновления должен сработать:

UPDATE Table
SET title = title_root
WHERE title_root is not null

Надеюсь, это поможет.

0 голосов
/ 30 января 2020

Выглядит как простое внешнее соединение:

select t1.title, 
       t2.title_root
from the_table t1
  left join the_table t2 on t2.title_root = t1.title

Или, если вы хотите видеть только один заголовок:

select coalesce(t2.title_root, t1.title) as title
from the_table t1
  left join the_table t2 on t2.title_root = t1.title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...