Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Grouping data into a comma-separated string

Bowenaus
Level 2
Level 2

Hello,

 

We have a need for a workflow which is capable of replicating the Group_CONCAT() function in SQL.

 

All of the "Group By" options I've seen in Adobe Campaign are just capable of aggregating #s together but I can't find anything which can concatenate strings into a comma-separated string like this example:
 
 
EMP_ID FNAME LNAME DEPT_ID STRENGTH
1mukeshgupta2Leadership
3neelamsharma3Hard-working
1mukeshgupta2Responsible
2deveshtyagi2Punctuality
3neelamsharma3Self-motivated
1mukeshgupta2Quick-learner
4keshavsinghal3Listening
2deveshtyagi2Quick-learner
5tanyajain1Hard-working
4keshavsinghal3Critical thinking
5tanyajain1Goal-oriented

Queries:

  1. Using simple GROUP_CONCAT() function-
    SELECT emp_id, fname, lname, dept_id, 
    GROUP_CONCAT ( strength ) as "strengths" 
    FROM employee group by emp_id;

    Output:

    EMP_ID FNAME LNAME DEPT_ID STRENGTHS
    1mukeshgupta2Leadership, Resposible, Quick-learner
    2deveshtyagi2Punctuality, Quick-learner
    3neelamsharma3Hard-working, Self-motivated
    4keshavsinghal3Listening, Critical thinking
    5tanyajain1Hard-working, Goal-oriented
 

If anyone has any ideas on how to apply this logic using the targeting activities available in Adobe Campaign Classic, please let me know!

 

Source: https://www.geeksforgeeks.org/mysql-group_concat-function/#:~:text=The%20GROUP_CONCAT()%20function%2....

 

Thanks!

Austin B.

1 Accepted Solution
DavidKangni
Correct answer by
Community Advisor
Community Advisor

Hi Austin,

 

You can try Adding additional SQL functions 

 

Thanks,

David

View solution in original post

3 Replies
DavidKangni
Correct answer by
Community Advisor
Community Advisor

Hi Austin,

 

You can try Adding additional SQL functions 

 

Thanks,

David

View solution in original post

Bowenaus
Level 2
Level 2

Thanks David. I was able to add a function groupConcat() but struggling to put this into practice by leveraging the function inside of the .js. Is there an easier way to iterate through & group the records together using one of the built-in jsapi functions? In the end, I just need to send a single email to Manager Id1 listing each of their associate emails in some way. I'm probably overcomplicating it. 

Basically my table is something like this:
Record Id      |      Manager Id   |     Associate Email
1                    |              1           |       email1@adobe.com
2                    |               1          |       email2@adobe.com
3                    |               2          |       email3@adobe.com 

 

I want to group by Manager Id to output this:
Record Id      |      Manager Id   |     Associate Email
1                    |              1           |       email1@adobe.com, email2@adobe.com
3                    |               2          |       email3@adobe.com 

fofana
Level 1
Level 1

Hi, Please bear in mind that you have referenced this GROUP_CONCAT() function from MySQL DB Engine. But as you may know, most of Adobe Campaign solution are implemented with PostgreSQL DB engine. So you need to find the equivalent aggregate function depending of your instance DB Engine.