Получить несколько значений строк из одного столбца с несколькими условиями - PullRequest
0 голосов
/ 01 октября 2018
id   unique_id    name     franchise_id
1    MR1000       aaa      0
2    FR1001       bbb      0
3    GE1003       ccc      0
4    GE1004       ddd      0
5    CL1005       eee      2

это моя таблица, я хочу получить запись из этой таблицы

извлечь 5-ую запись из этого поиска, найти franchise_id 2 с идентификатором и получить уникальное значение идентификатора тоже

мне нужнорезультат как это:

franchise_id     uniqueid     name
FR1001           CL1005       eee

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Я бы просто сделал:

select t.*
from t
where t.id = (select t2.franchise_id
              from t t2
              order by id
              limit 4, 1
             );
0 голосов
/ 01 октября 2018

Вы можете сделать это с помощью самостоятельного соединения и псевдонима, чтобы переопределить реальное имя столбца.

select a.unique_id as franchise_id, b.unique_id, b.name
from test as a
left join test as b
on b.franchise_id = a.id
where b.unique_id = 'CL1005'

as franchise_id перезаписывает реальное имя столбца и возвращает его в качестве имени нового столбца.

left join test as b on b.franchise_id = a.id присоединяет таблицу к себе, где franchise_id соответствует id.

http://sqlfiddle.com/#!9/fb576f/11

Все значения b будут равны NULL, если столбец a не имеет ссылки.Вы можете изменить тип join с соединения left на inner join, если хотите получить совпадение.

http://sqlfiddle.com/#!9/1e9dad/2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...