Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите пожалуйста с SSRS-ным параметром...  [new]
custtable
Member

Откуда:
Сообщений: 3
Добрый день.
Я новичок.
Есть SSRS отчет, запрос выглядит следующим образом:
SELECT TABLE1 
INNER JOIN
TABLE2
ON TABLE1.FIELD1 = TABLE2.FIELD1 AND TABLE2.FIELD2 in (@Parm)

Новое требование расширить параметр(многовыборочный) @Parm значением 'None', т.е. как бы включить LEFT OUTER JOIN вместо INNER JOIN. Что-то типа если @Parm = 'None', тогда LEFT OUTER JOIN, иначе INNER JOIN. Но смущает, что если будет вот так @Parm IN ('None', 'VAL1', 'VAL1'), тогда нужно будет LEFT OUTER JOIN и INNER JOIN использовать одновременно. Можно ли как-то обработать с помощью TSQL данную ситуацию?

Пока ничего лучше не придумал, как добавить в таблицу TABLE2 пустую строку и оставить INNER JOIN.

Заранее благодарен.
19 окт 12, 07:24    [13344145]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с SSRS-ным параметром...  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
custtable,

наверно , что-то вроде этого говнокода
DECLARE @T1 table 
(
  ID int
)

DECLARE @T2 table 
(
  ID int
  ,V char(1)
)


INSERT @T1 (ID)
SELECT 1
union 
SELECT 2
union 
SELECT 3

INSERT @T2 (ID,V)
SELECT 1,'A'
union 
SELECT 2,'B'

DECLARE @PARAM TABLE 
(
 V CHAR(1)
)

INSERT @PARAM (V) VALUES ('A')
--INSERT @PARAM (V) VALUES ('N')

SELECT 
 T1.*
 ,T2.* 
FROM @T1 T1
 LEFT JOIN  @T2 T2 ON (
  T1.ID = T2.ID   
 )
WHERE 
 EXISTS( SELECT 1 FROM @PARAM WHERE V='N')  
 OR (   
  NOT EXISTS( SELECT 1 FROM @PARAM WHERE V='N') 
  AND T2.V IN (SELECT V FROM @PARAM ) 

 ) 
 
19 окт 12, 08:36    [13344231]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с SSRS-ным параметром...  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5124
custtable,

а зачем вам этот 'None'?
19 окт 12, 09:11    [13344345]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с SSRS-ным параметром...  [new]
custtable
Member

Откуда:
Сообщений: 3
Ken@t,

спасибо!
19 окт 12, 09:20    [13344380]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с SSRS-ным параметром...  [new]
custtable
Member

Откуда:
Сообщений: 3
Дедушка,

Значение в поле TABLE1.FIELD1 попадает по времени от 15-ти минут до 2-х недель, - поэтому, принимая это во внимание, нужно выбирать и такие записи ('None') из TABLE1.
19 окт 12, 09:23    [13344395]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить