Пожалуйста, рассмотрите ситуацию, в которой есть две таблицы Body
и File
, в которых каждая запись первой содержит ноль или более соответствующих записей во второй:
BodyID | Body
-------------
1 | X
2 | Y
FileID | BodyID | File
------------------------
1 | 1 | A
2 | 1 | B
3 | 2 | C
4 | 2 | D
5 | 2 | E
Конечно, довольно легко объединить обе таблицы и получить что-то вроде
BodyID | FileID | Body | File
-----------------------------
1 | 1 | X | A
1 | 2 | X | B
2 | 3 | Y | C
2 | 4 | Y | D
2 | 5 | Y | E
Однако, что я хотел бы сделать, это преобразовать эту же таблицу в горизонтальную, как
BodyID | Body | File1 | File2 | File3 | ...
-------------------------------------------
1 | X | A | B | NULL | ...
2 | Y | C | D | E | ...
, где каждый столбец заменяется NULL
(или любым другим «значимым» значением), когда нет файлов. Проблема в том, что я не могу использовать ни D-SQL, ни курсоры. Может кто-нибудь помочь мне?