I trying to figure out a way to generate a SQL query, to be used in a view, to generate an Excel like format for parent-child relationship.
I have the following tables
Person
| id | name | accepted | |
|---|---|---|---|
| 1 | A | -- | -- |
| 2 | B | -- | -- |
| 3 | C | -- | -- |
Guest
| id | name | accepted | id_person (foreign_key -> person.id) |
|---|---|---|---|
| 1 | AGuest1 | --- | 1 |
| 2 | BGuest1 | --- | 2 |
| 3 | BGuest2 | --- | 2 |
| 4 | CGuest1 | --- | 3 |
| 5 | CGuest2 | --- | 3 |
| 6 | CGuest3 | --- | 3 |
A person can have multiple guests accompanying him/her.
What I want to do is generate a SQL that gives me the following result:
| Person Name | Guest 1 Name | Guest 2 Name | Guest 3 Name |
|---|---|---|---|
| A | AGuest1 | -- | -- |
| B | BGuest1 | BGuest2 | -- |
| C | CGuest1 | CGuest2 | CGuest3 |
I can generate two separate queries that will generate a list of rows with that information but I am struggling to generate multiple columns based on the information that I have.
I have looked into crosstab() for postgres, but so far I have no luck with generating anything that would like this.
Any help or pointers in the right direction would be helpful, thank you!