Нужна помощь с запросом, который просматривает 1 таблицу, но может потребоваться выполнить подзапрос или присоединиться - PullRequest
0 голосов
/ 12 марта 2019

У меня есть таблица с такой структурой:

AssignID, type, PosID
1a,       e,     a
1b,      et,     a
2a,       e,     b
2b,      et,     b

Я хочу, чтобы мой результат выглядел так:

AssignID, type, PosID, NewColumn
1a,        e,     a,      1b
2a,        e,     b,      2b

Чтобы дать немного больше деталей.Мои данные напоминают первый набор данных.В основном PosID будет дублироваться дважды: один с записью 'e', ​​а другой с записью 'et'.«Et» является дочерним элементом «E», поэтому я хотел бы удалить лишнюю строку и отобразить мой результат в виде одной строки на «PosID».поэтому создаем новый столбец с «AssignID» записи «Et».надеюсь, что это имеет смысл.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Делает ли это то, что вы хотите?

select AssignID, type, PosID, replace(AssignID, 'a', 'b') as new_column
from t
where type = 'e';
0 голосов
/ 12 марта 2019

Следующий запрос будет генерировать ожидаемый результат:

SELECT
    MIN(AssignID) AS AssignID,
    MIN(type) AS type,
    PosID,
    MAX(AssignID) AS ExtraColumn
FROM yourTable
GROUP BY
    PosID;

Но не ясно, будет ли вышеуказанная логика работать со всеми вашими фактическими данными. Вам следует подробнее рассказать о том, почему e отображается как оставленный type, а не et.

Демо

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