Вы хотите причины? Вот тот:
веб-форма А не может использоваться для отправления запроса к странице, которая использует соединение, ДОБИРАЮТСЯ и POST. При установке метода формы для ПОЛУЧЕНИЯ, все параметры находятся в строке запроса. При установке метода формы на POST все параметры находятся в теле запроса.
Источник: стандарт HTML 4.01, разделите 17.13 Представлений Формы
With MSSQL you can do something like this:
declare @result varchar(500)
set @result = ''
select @result = @result + ModuleValue + ', '
from TableX where ModuleId = @ModuleId
Этот автоматически исключает конечную запятую, в отличие от большинства других ответов.
DECLARE @csv VARCHAR(1000)
SELECT @csv = COALESCE(@csv + ',', '') + ModuleValue
FROM Table_X
WHERE ModuleID = @ModuleID
(Если столбец ModuleValue
еще не является строковым типом, вам может потребоваться чтобы преобразовать его в VARCHAR
.)
In mysql you'd use the following function:
SELECT GROUP_CONCAT(ModuleValue, ",") FROM Table_X WHERE ModuleID=@ModuleID
I am not sure which dialect you are using.
In SQL Server 2005 and up, you could do something like this:
SELECT
(SELECT ModuleValue + ','
FROM dbo.Modules
FOR XML PATH('')
)
FROM dbo.Modules
WHERE ModuleID = 1
This should give you something like what you're looking for.
Marc
It depends on the database you are using. MySQL for example supports the (non-standard) group_concat function. So you could write:
SELECT GROUP_CONCAT(ModuleValue) FROM Table_X WHERE ModuleID=@ModuleID
Group-concat is not available at all database servers though.