1 Answer
- Newest
- Most votes
- Most comments
1
Hi,
the question is how do you want to receive the data for tags?
in different columns or in different rows?
If it is ok to have it in multiple rows the following query using the function SPLIT to create an ARRAY and the unnest the results in the array on multiple rows, as described here, could help:
with test_data as (select
'testcase1' as testcase, 'tag1,tag2,tag3' as tags
union all
select
'testcase2'as testcase , 'tag2,tag4' as tags
union all
select
'testcase3' as testcase, 'tag2' as tags
union all
select
'testcase4' as testcase,'' as tags )
select testcase, tag from test_data
cross join unnest(SPLIT(tags, ',')) as t(tag)
result set is:
If you want it in multiple columns you should use the SPLIT_PART function as shown here:
with test_data as (select
'testcase1' as testcase, 'tag1,tag2,tag3' as tags
union all
select
'testcase2'as testcase , 'tag2,tag4' as tags
union all
select
'testcase3' as testcase, 'tag2' as tags
union all
select
'testcase4' as testcase,'' as tags )
select testcase, SPLIT_PART(tags, ',',1) as tag1, SPLIT_PART(tags, ',',2) as tag2,
SPLIT_PART(tags, ',',3) as tag3, SPLIT_PART(tags, ',',4) as tag4
from test_data
result set is:
hope this helps
Relevant content
- asked a year ago
- asked 2 years ago
- AWS OFFICIALUpdated 2 months ago
Hi Fabrizio, Thank you so much for the reply! to have the tags in multi rows is what i'm looking for! save both in my notebook!
Thank you again! Yj Liu