Hello Stack Overflow Community.
Я получаю данные с помощью SQL из PATSTAT (база данных патентов из Европейского патентного ведомства).У меня есть две проблемы (см. Ниже).К вашему сведению, команды PATSAT sql весьма ограничены.
I.Charindex с несколькими значениями
Я ищу конкретные две конкретные группы патентов ["Y02E" и "Y02C"] и хочу получить данные по ним.Я обнаружил, что использование функции charindex работает , если я вставляю одну группу;
and charindex ('Y02E', cpc_class_symbol) > 0
Но если я хочу использовать другую функцию charindex, запрос просто время ожидания ;
and charindex ('Y02E', cpc_class_symbol) > 0 or charindex ('Y02C', cpc_class_symbol) >0
Я новичок в абсолютном SQL, но буду очень признателен за вашу помощь!
II.Вывести значения из столбца в одной ячейке с разделением запятыми
По сути, я хочу применить то, что я нашел как «string_agg» -команду, однако она не работает для этой базы данных.У меня есть записи с уникальным идентификатором, которые имеют несколько категорий патентов.Например:
appln_nr_epodoc | cpc_class_symbol
EP20110185794 | Y02E 10/125
EP20110185794 | Y02E 10/127
Мне бы хотелось, чтобы это было так, однако:
appln_nr_epodoc | cpc_class_symbol
EP20110185794 | Y02E 10/125, Y02E 10/127
Опять же, я новичок в sql, поэтому любая помощь приветствуется!Спасибо!
Я также приложу полный код здесь для прозрачности
SELECT a.appln_nr_epodoc, a.appln_nr_original, psn_name, person_ctry_code, person_name, person_address, appln_auth+appln_nr,
appln_filing_date, cpc_class_symbol
FROM
tls201_appln a
join tls207_pers_appln b on a.appln_id = b.appln_id
join tls206_person c on b.person_id = c.person_id
join tls801_country on c.person_ctry_code= tls801_country.ctry_code
join tls224_appln_cpc on a.appln_id = tls224_appln_cpc.appln_id
WHERE appln_auth = 'EP'
and appln_filing_year between 2005 and 2012
and eu_member = 'Y'
and granted = 'Y'
and psn_sector = 'company'
and charindex ('Y02E', cpc_class_symbol) > 0