Объедините несколько результатов в подзапросе в одно значение через запятую
У меня есть две таблицы:
TableA
------
ID,
Name
TableB
------
ID,
SomeColumn,
TableA_ID (FK for TableA)
Отношения это один рядTableA
- многие изTableB
.
Теперь я хочу увидеть такой результат:
ID Name SomeColumn
1. ABC X, Y, Z (these are three different rows)
2. MNO R, S
Это не сработает (несколько результатов в подзапросе):
SELECT ID,
Name,
(SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID)
FROM TableA
Это тривиальная проблема, если я делаю обработку на стороне клиента. Но это будет означать, что мне придется выполнять X запросов на каждой странице, где X - это число результатовTableA
.
Обратите внимание, что я не могу просто сделать GROUP BY или что-то подобное, так как он будет возвращать несколько результатов для строкTableA
.
Я не уверен, что UDF, использующий COALESCE или что-то подобное, может работать?