Построитель отчетов SQL — несколько параметров

Я искал и пробовал так много разных вещей, и мне кажется, что проблема проста.

У меня есть DataSet, который пользователь может уточнить, выбрав раскрывающийся список «Да» или «Нет» — он просматривает таблицу базы данных и извлекает любые записи, в которых значение столбца равно «Да», проблема заключается в том, что когда я ищу «Нет» — мне нужно, чтобы это возвращалось все значения в базе данных, поэтому, где значение «Да» или «Нет».

Может кто-нибудь посоветовать?

SELECT * FROM @TestTable Where Show=@Show

Я настроил свой параметр, и доступные значения

Yes - with a value of YES
ALL - with a value of IS NOT NULL - this ends up showing nothing

РЕДАКТИРОВАТЬ -

TestTable имеет 2 столбца Имя | Показывать

Значения:

Name 1 | Yes
Name 2 | Yes
Name 3 | No
Name 4 | Yes

В моем отчете есть параметр @Show, когда отчет загружается, они должны выбрать отображение только постоянного персонала - если они выберут Да, он вытащит

Name 1
Name 2
Name 4

Если они выберут Нет, мне нужно, чтобы отчет отображался

Name 1 
Name 2
Name 3
Name 4

person user3219693    schedule 31.01.2014    source источник
comment
Ваш вопрос не имеет смысла. Покажите нам некоторые примеры данных и ожидаемый результат.   -  person Adriaan Stander    schedule 31.01.2014
comment
Добавил несколько примеров данных - надеюсь, это поможет   -  person user3219693    schedule 31.01.2014
comment
Вы хотите изменить запрос?   -  person Adriaan Stander    schedule 31.01.2014
comment
Мне нужно, чтобы параметр отчета передал IS NOT NULL в запрос, но я думаю, что он делает это из построителя отчетов SELECT * FROM @TestTable Where Show='IS NOT NULL'   -  person user3219693    schedule 31.01.2014
comment
Да, наверное, так и делается. Итак, если бы у вас был запрос SELECT * FROM @TestTable Where (Show=@Show and @Show='Yes') OR (@Show<>'Yes'), это не сработало бы?   -  person Adriaan Stander    schedule 31.01.2014


Ответы (1)


Вам действительно нужно добавить больше информации о вашей проблеме. Но вы можете использовать оператор If в своем sql или в сценариях вашего сервера.

MsSql: http://technet.microsoft.com/en-us/library/ms182717.aspx

MySql: http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html

Вы также можете сделать что-то вроде этого:

SELECT * 
FROM MY_TABLE 
WHERE @parameter IS NULL OR Show = @parameter;
person Bjarke Brask Rubeksen    schedule 31.01.2014