Мне нужно извлечь данные из трех таблиц и получить результат, возвращаемый в одной строке для каждого пользователя. Мне также нужно использовать имена столбцов переменных, основанные на значении поля.
Мой запрос:
SELECT u.USER_ID, u.FIRST_NAME, d.FIELD_ID, d.DATA, f.LABEL, f.TYPE
FROM users as u, fields as f, fieldsData as d
WHERE d.USER_ID=u.USER_ID AND f.FIELD_ID=f.FIELD_ID;
Результат, который я получаю:
|------------|-------------|----------|-----------|---------|----------|
| USER_ID | FIRST_NAME | FIELD_ID | DATA |LABEL | TYPE |
|------------|-------------|----------|-----------|---------|----------|
| 1 | John | 1 | Cookies | Dessert | TEXT |
| 1 | John | 2 | Chocolate | Flavor | TEXT |
| 1 | John | 3 | Milky Way | Candy | TEXT |
| 2 | Sally | 1 | Brownies | Dessert | TEXT |
| 2 | Sally | 3 | Snickers | Candy | TEXT |
|------------|-------------|----------|-----------|---------|----------|
Мне нужна только одна строка на пользователя с столбцами для полей / значений данных полей. Примерно так:
|------------|-------------|--------------|----------|---------------|---------------|------------|
| FIRST_NAME | Dessert | Dessert_TYPE | Flavor | Flavor_TYPE | Candy |Candy_TYPE |
|------------|-------------|--------------|----------|---------------|---------------|------------|
| John | Cookies | TEXT | Chocolate| TEXT | Milky Way | TEXT |
| Sally | Brownies | TEXT | NULL | NULL | Snickers | TEXT |
|------------|-------------|--------------|----------|---------------|----------------|------------|
Могу ли я действительно помочь с этим! Спасибо !!
ТАБЛИЦА ПОЛЬЗОВАТЕЛЕЙ:
|------------|-------------|--------------|
| USER_ID | FIRST_NAME | LAST_NAME |
|------------|-------------|--------------|
| 1 | John | Smith |
| 2 | Sally | Jones |
|------------|-------------|--------------|
ТАБЛИЦА ПОЛЕЙ:
|------------|-------------|--------------|
| FIELD_ID | LABEL | TYPE |
|------------|-------------|--------------|
| 1 | Dessert | TEXT |
| 2 | Flavor | TEXT |
| 3 | Candy | TEXT |
|------------|-------------|--------------|
ТАБЛИЦА ДАННЫХ ПОЛЯ:
|------------|-------------|--------------|---------------|
| DATA_ID | USER_ID | FIELD_ID | DATA |
|------------|-------------|--------------|---------------|
| 1 | 1 | 1 | Cookies |
| 2 | 1 | 2 | Chocolate |
| 3 | 1 | 3 | Milky Way |
| 4 | 2 | 1 | Brownies |
| 5 | 2 | 3 | Snickers |
|------------|-------------|--------------|---------------|