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

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

Результат запроса в MultyValue параметр. Передавайте строку в подотчет. А там что то в этом роде.
...
Рейтинг: 0 / 0
04.04.2011, 11:45
    #37197591
alexreyss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
Не понятно как передать выбранные значения в виде строки.
...
Рейтинг: 0 / 0
04.04.2011, 13:52
    #37197992
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
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
05.04.2011, 10:41
    #37199614
alexreyss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
С multi-value разобралась, спасибо. Сейчас у меня есть параметр @sql, который собирает значение для SELECT-a.

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

Пока не понимаю, как это передать другому запросу, чтобы это вставилось в SELECT :( просто сделать SELECT @sql не работает понятное дело. С процедурами тоже не понятно - как их вызвать из отчета, чтобы вернулись нужные значения??
...
Рейтинг: 0 / 0
05.04.2011, 11:11
    #37199676
alexreyss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
Код: 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
05.04.2011, 11:32
    #37199726
Katy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
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
05.04.2011, 15:24
    #37200512
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
Вы в параметре должны должны получить конечный запрос.



Код: 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
05.04.2011, 16:08
    #37200635
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подставить значения, выбранные из одного запроса, в SELECT главного запроса???
alexreyss,

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

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


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

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

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


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