Я пытаюсь выбрать записи, определяемые ключевыми терминами, в переменной внутри группы.
name - это строка с ключевыми терминами, которые интересуют.
группы определяются сочетанием из id1 и id2.
Меня интересует извлечение записей по группам, которые содержат ключевые термины.
select id1, id2, name
case
when name LIKE '%LOAD_TIME' then 1
when name LIKE '%LOGIN_SESSION_TIME' then 1
end as b_flag
from df1
group by id1, id2
having (sum(b_flag) > 0 )
df1:
id1 id2 name
1 1 xxxLOAD_TIME
1 1 xxxLOGIN_LOGIN_SESSION_TIMExxx
1 1 xxxxSome other timexxxx
2 2 xxSome other timex
3 1 xxxLOAD_TIME
3 1 xxSome other timexx
После создания b_flag новый набор данных должен выглядеть следующим образом:
id1 id2 name b_flag
1 1 xxxLOAD_TIME 1
1 1 xxxLOGIN_LOGIN_SESSION_TIMExxx 1
1 1 xxxxSome other timexxxx
2 2 xxSome other timex
3 1 xxxLOAD_TIME 1
3 1 xxSome other timexx
Требуемый вывод:
id1 id2 name b_flag
1 1 xxxLOAD_TIME 1
1 1 xxxLOGIN_LOGIN_SESSION_TIMExxx 1
1 1 xxxxSome other timexxxx
3 1 xxxLOAD_TIME 1
3 1 xxSome other timexx
Я не вижу, что не так с моим кодом, но я получаю ту же ошибку:
[Ошибка 10025]: Выражение отсутствует в имени ключа GROUP BY
Спасибо за любую помощь