2016-04-15 3 views
0

У меня есть следующий запрос ODBC от SSRS к базе данных MySQL:Могу ли я использовать параметр ODBC дважды?

SELECT  ID, StartTime, StartTimeMS, EndTime, EndTimeMS, TIMEDIFF(EndTime, StartTime) AS CallDuration, CallType, CallerID, DialedNumber, Extension 
FROM  `call` 
WHERE  (CallerID = ?) OR 
        (Extension = ?) AND (StartTime < ?) AND (StartTime > ?) 

Когда я бегу SSRS, я получаю побудила дважды в течение первых двух параметров. В идеале, я просто должен был бы ввести это значение один раз и иметь возможность использовать его дважды. Могу ли я использовать позиционный параметр внутри запроса SSRS дважды, чтобы пользователь не запрашивал дважды?

ответ

0

Я не думаю, что вы можете передать названные параметры MySQL, как это, но я думаю, что вы можете создать их в запросе:

SET @number = ? 
SET @EndDate = ? 
SET @BeginDate = ? 


SELECT  ID, StartTime, StartTimeMS, EndTime, EndTimeMS, TIMEDIFF(EndTime, StartTime) AS CallDuration, CallType, CallerID, DialedNumber, Extension 
FROM  `call` 
WHERE ((CallerID = @number) OR (Extension = @number)) AND (StartTime < @EndDate) AND (StartTime > @BeginDate) 

Incidently, я подумайте, что вам нужно поставить свои OR в отдельный набор круглых скобок.

0

Назовите параметры:

SELECT  ID, StartTime, StartTimeMS, EndTime, EndTimeMS, TIMEDIFF(EndTime, StartTime) AS CallDuration, CallType, CallerID, DialedNumber, Extension 
FROM  `call` 
WHERE  (CallerID = @number) OR 
        (Extension = @number) AND (StartTime < @EndDate) AND (StartTime > @BeginDate) 
Смежные вопросы