2010-11-11 1 views
0

Мне трудно получить список с разделителями-запятыми из MSAccess с использованием SQL. Это очень легко сделать с SQL Server, и я это сделал. Но решение MSAccess, похоже, ускользает от меня.Как получить список с разделителями-запятыми для MSAccess SQL

DECLARE @EmployeeList varchar(100) 

SELECT @EmployeeList = COALESCE(@EmployeeList + ', ', '') + 
     CAST(Emp_UniqueID AS varchar(5)) 
FROM SalesCallsEmployees 
WHERE SalCal_UniqueID = 1 

SELECT @EmployeeList 

http://www.sqlteam.com/article/using-coalesce-to-build-comma-delimited-string

Кто-осуществить это с помощью MS Access или я просто обречен никогда не получать списки, как это через SQL?

+3

SQL, выше, не имеет аналогов в Jet/ACE. В Jet/ACE нет опции, кроме прохода по набору записей и конкатенации строки. –

+1

@ David-W-Fenton Я не уверен, что вы подразумеваете под этим в том, что я ранее ответил, что возможно SELECT Field & ",", что, конечно же, не эквивалентно приведенному выше, но я не думаю, что это можно было бы назвать «прогулкой по набору записей». – Fionnuala

+2

Ну, он не делает то, что было запрошено, нет? Ваше решение может конкатенировать столбцы только в одной строке, но необходимо объединить значения в разных строках (по крайней мере, насколько я понимаю вопрос и ответ на COALESCE()). –

ответ

1

Вы можете выбрать поля (столбцы) один на один:

SELECT ID & ",", Other & "," 
FROM table 
+0

Мне нужно выбрать тот же столбец. Так что я делаю «Выберите имя из категорий где Category.ParentID = 1», не уверен, что это работает в этом сценарии. –

+0

Это будет работать нормально, где и выберите два отдельных оператора. – Fionnuala

Смежные вопросы