Мне интересно, можно ли взять результаты запроса и вернуть их в виде строки CSV, а не в виде столбца ячеек.
По сути, у нас есть таблица с именем Customers, и у нас есть таблица с именем CustomerTypeLines, и у каждого Customer может быть несколько CustomerTypeLines.
Когда я запускаю запрос к нему, я сталкиваюсь с проблемами, когда хочу проверить несколько типов, например:
Select *
from Customers a
Inner Join CustomerTypeLines b on a.CustomerID = b.CustomerID
where b.CustomerTypeID = 14 and b.CustomerTypeID = 66
... ничего не возвращает, потому что у клиента, очевидно, не может быть обоих на одной линии.
Чтобы заставить его работать, мне пришлось добавить в Customer поле с именем CustomerTypes, которое выглядит как ,14,66,67,
, чтобы я мог сделать Where a.CustomerTypes like '%,14,%' and a.CustomerTypes like '%,66,%'
, который возвращает 85 строк.
Конечно, это проблема, потому что мне приходится заставлять мою программу перестраивать это поле для этого клиента каждый раз, когда изменяется таблица CustomerTypeLines.
Было бы неплохо, если бы я мог выполнить подзапрос в моем месте, который бы работал для меня, поэтому вместо того, чтобы возвращать результаты вроде:
14
66
67
он вернул бы их как ,14,66,67,
Возможно ли это?