SQL, Как Связать результаты?

Вы хотите причины? Вот тот:

веб-форма А не может использоваться для отправления запроса к странице, которая использует соединение, ДОБИРАЮТСЯ и POST. При установке метода формы для ПОЛУЧЕНИЯ, все параметры находятся в строке запроса. При установке метода формы на POST все параметры находятся в теле запроса.

Источник: стандарт HTML 4.01, разделите 17.13 Представлений Формы

32
задан Adrian Carneiro 20 September 2011 в 14:48
поделиться

5 ответов

With MSSQL you can do something like this:

declare @result varchar(500)
set @result = ''
select @result = @result + ModuleValue + ', ' 
from TableX where ModuleId = @ModuleId
33
ответ дан 27 November 2019 в 19:56
поделиться

Этот автоматически исключает конечную запятую, в отличие от большинства других ответов.

DECLARE @csv VARCHAR(1000)

SELECT @csv = COALESCE(@csv + ',', '') + ModuleValue
FROM Table_X
WHERE ModuleID = @ModuleID

(Если столбец ModuleValue еще не является строковым типом, вам может потребоваться чтобы преобразовать его в VARCHAR .)

35
ответ дан 27 November 2019 в 19:56
поделиться

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.

11
ответ дан 27 November 2019 в 19:56
поделиться

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

9
ответ дан 27 November 2019 в 19:56
поделиться

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.

3
ответ дан 27 November 2019 в 19:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: