У меня есть таблица A, которая имеет отношение "OneToMany" к таблице C. Таблица B также связана с таблицей C. Я хочу получить все данные из таблицы A, объединенные со всеми идентификаторами таблицы B в качестве имени столбца (1-3 в этом примере), заполненного правильными данными таблицы B из таблицы C из столбца «значение».
Это самый простой сценарий, который я могу себе представить, где (x, y, z, j, k, l, m) может быть чем угодно, а где (a, b, c) - просто имена столбцов таблицы A
Table A:
ID - a - b - c
--------------
1 - x - y - z
2 - x - y - z
3 - x - y - z
Table B:
ID
--
1
2
3
Table C:
ID - Table A (FK) - Table B (FK) - value
------------------------------------------
1 - 1 - 1 - j
2 - 1 - 2 - k
3 - 1 - 3 - l
4 - 2 - 1 - m
Expected result
ID - a - b - c - B1 - B2 - B3 (B1 means Table B with id 1 which should be column name)
-------------------------------------
1 - x - y - z - j - k - l ("j" for example is Value from Table C where Table A is 1 and Table B is 1 as well)
2 - x - y - z - m - NULL - NULL
3 - x - y - z - NULL - NULL - NULL
Запрос моей мечты:
select A.*, GET_ALL_IDS_AS_COLUMN_NAME_FROM_TABLE(B) from A SOMEHOW FILL DOES COLUMNS FROM B BY C BY THIS <MAGIC> CONDITION WHERE C.A = A