powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
18 сообщений из 18, страница 1 из 1
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37197352
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос, который выводит название таблицы, столбцы этой таблицы и описание столбцов этой таблицы:

use PKS
SELECT
o.Name AS [Таблица],
c.name AS [Столбец],
ep.value AS [Описание]
FROM sys.objects o INNER JOIN sys.extended_properties ep
ON o.object_id = ep.major_id
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
LEFT JOIN syscolumns c
ON ep.minor_id = c.colid
AND ep.major_id = c.id
WHERE o.type IN ('V', 'U', 'P')and o.Name ='SPFACENM'
ORDER BY o.Name, s.name

Он выводит следующие данные:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<table border="1">
<th><td>Таблица</td><td>Название столбца</td><td>Описание</td></th>
<tr><td>SPFACENM</td>	<td>IDNUMLS</td>	<td>ключ</td></tr>
<tr><td>SPFACENM</td>	<td>NUMBERLS</td>	<td>Номер ЛС Энергокомфорт</td></tr>
<tr><td>SPFACENM</td>	<td>HOWPEOPL</td>	<td>Количество фактически проживающих</td></tr>
<tr><td>SPFACENM</td>	<td>FIO</td>	<td>ФИО</td></tr>
<tr><td>SPFACENM</td>	<td>FLAT</td>	<td>квартира</td></tr>

Что нужно сделать: Надо чтобы в SSRS "Описание" было параметром с multivalue, пользователь выбирал столбцы из выпадающего списка, потом по Описанию "Название столбца" и "Таблица" подставлялось в SELECT и FROM другого Dataset-a.
Ну то есть, если пользователь пометил галочками например "Ключ" и "ФИО", то запрос бы выглядел следующим образом:
Код: plaintext
1.
2.
SELECT IDNUMLS, FIO
FROM SPFACENM

Подскажите плиз, как такое реализовать?
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37197356
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за кривизну вывода HTML-кода((((((
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37197433
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexreyss,

Результат запроса в MultyValue параметр. Передавайте строку в подотчет. А там что то в этом роде.
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37197591
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понятно как передать выбранные значения в виде строки.
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37197992
alexreyss,

Я в свое время находил много информации по работе с Multi-value параметрами. Скачать можно отсюда:
http://narod.ru/disk/9249189001/Multi-value%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B.zip.html
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37199614
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С multi-value разобралась, спасибо. Сейчас у меня есть параметр @sql, который собирает значение для SELECT-a.

Например:
Код: plaintext
@sql = "ALEX.SPFACENM.IDNUMLS, ALEX.SPFACENM.ID_HOUSE"

Пока не понимаю, как это передать другому запросу, чтобы это вставилось в SELECT :( просто сделать SELECT @sql не работает понятное дело. С процедурами тоже не понятно - как их вызвать из отчета, чтобы вернулись нужные значения??
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37199676
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE PROCEDURE [ALEX].GetColumns
	(
		@select varchar( 1000 ),
		@from varchar( 100 )
	)
AS
BEGIN
	SET NOCOUNT ON;
	SELECT @select FROM @from
END
GO

Написала такую процедуру (она правда не работает, ругается на параметр @from), но в целом принцип наверно такой? Вот только как ее вызвать из отчета??
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37199726
Фотография Katy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexreyss, как то так. может и проще можно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
declare @t_code table ( code varchar( 50 ) )
while @code_str <> ''
begin
  insert into @t_code
  select rtrim( ltrim( replace( replace( left( @code_str, PATINDEX ('%,%', @code_str) ), '''', ''), ',', '') ) )
  
  set @code_str = SUBSTRING( @code_str, PATINDEX ('%,%', @code_str) +  1 , LEN(@code_str) )  
  
end
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37200512
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы в параметре должны должны получить конечный запрос.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE [ALEX].GetColumns
	(
		@select varchar( 1000 ),
		@from varchar( 100 )
	)
AS
BEGIN
	SET NOCOUNT ON;

     DECLARE @sql nvarchar( 4000 )
     SET @sql='SELECT ' || @select || ' from ' || @from
     
     exec (@sql)

END
GO
Что то в этом духе должно получиться. За синтаксис не ручаюсь. Просто даю направление.
И почитайте про EXECUTE.
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37200635
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexreyss,

вывод отчета в НТМ с выбором полей и значений
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37201636
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как эту процедуру вызвать из отчета? Понятно, что я создаю новый датасет, но какой там будет запрос? как обратиться к процедуре?
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37201849
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У датасета есть свойства. Если не ошибаюсь находятся они на кнопке [...].
Там есть поле Command Type
Поиском полезно пользоваться. Первая же ссылка - ваш вопрос подробно со скринами.
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37204147
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как вставить ссылку на столбец в таблицу, если эти столбцы динамически меняются в зависимости от того, что выбрал пользователь? Ну чтобы в таблице выводились все поля, которые пользователь выбрал?
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37204338
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы про шаблон то вот тут разжевали.
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37205931
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я про шаблон. Но указывать все имеющиеся столбцы не рационально, потому что мы же можем еще таблицу выбирать, представляете тогда СКОЛЬКО столбцов там надо будет указать(((( Нету ли какого-нить более оптимального решения? Мб кто-нибудь делал?
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37206048
alexreyss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще вопрос по теме: как программно получить пункты, которые выбрал пользователь + потом записать их в rdl файл?
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37206244
alexreyss,

Где-то на форуме находил:
Для DataSource точно так же есть Expression, с помощью которого вы можете определить строку подключения.
Примерно так:
Код: plaintext
="Provider=....;Data Source=" + Parameters!Server.Value


Можно написать свою Web-страницу.
Вариант 1
Вариант 2

Ну и на всякий случай
Вывод данных с помощью собственных средств визуализации для Reporting Services
...
Рейтинг: 0 / 0
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
    #37206511
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexreyssДа, я про шаблон. Но указывать все имеющиеся столбцы не рационально, потому что мы же можем еще таблицу выбирать, представляете тогда СКОЛЬКО столбцов там надо будет указать(((( Нету ли какого-нить более оптимального решения? Мб кто-нибудь делал?

Ого... Т.е. вы пытаетесь с помощью ReportBuilder написать ReportBuilder? Не проще ли обучить пользователя пользоваться этим самым билдером? В RS есть возможность строить отчеты визардом.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]