Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 2
Регистрация: 30.12.2010
Сообщений: 24
MS SQL

Выборка данных по двум параметрам (пол, возраст)

17.12.2014, 13:14. Показов 1694. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Ребята, подскажите как грамотно решить такую задачу. (если не сложно привести примерчик )
Программа по сотрудникам, прилагаю скрин
нужно сделать поиск по сотрудникам, выбираем возраст, а затем выбираем мужчин или женщин.
запрос SQL вот такой:
"SELECT DISTINCT
TN,
pip.pFam,
pip.pIm,
pip.pOtch,
pip.pDatBth,
datediff(year, pip.pDatBth, getDate()) as Age,
s.NameSex
FROM [MsActivity].[dbo].[tLinkPersonProgram] pp
LEFT JOIN HR.dbo.hrPerson pers ON pers.IDPerson = pp.IDPerson
LEFT JOIN HR.dbo.hrPiple pip ON pip.IDPiple = pers.IDPiple
LEFT JOIN HR.dbo.hrSex s ON s.IDSex = pip.IDSex
LEFT JOIN MsActivity.dbo.tMedProgram mp ON mp.IDMedProgram = pp.IDMedProgram
WHERE (datediff(year, pip.pDatBth, getDate()) >= 18 and datediff(year, pip.pDatBth, getDate())<= 55)
and (pip.IDSex = '" + sex + "')";
Пока так пишу к каждому radiobutton'у
наверняка есть способ как это сделать грамотно и красиво. Может как то через case....
и как это лучше сделать? на кнопку? а то при выборе параметров Grid не обновляется
Прошу небольшой примерчик
Заранее большое спасибо!
Миниатюры
Выборка данных по двум параметрам (пол, возраст)  
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2014, 13:14
Ответы с готовыми решениями:

Сортировка записей по двум параметрам
Всем привет. У меня следующая задача: я хочу отсортировать результаты по 2ум параметрам, т.е. есть таблица, и в ней есть столбцы: приоритет...

Выборка по двум параметрам
Здравствуйте! Прошу помощи у специалистов. Сама я дальше ворда не заглядываю обычно, а тут надо найти особей, чьи характеристику...

Выборка по по двум параметрам из формы
Подскажите пожалуйста такую вещь, в форме есть переменные menu_real и menu_oper, и здесь же в форме я им присвоила значения, во-первых как...

2
2 / 2 / 2
Регистрация: 30.12.2010
Сообщений: 24
17.12.2014, 15:29  [ТС]
Лучший ответ Сообщение было отмечено Снежка89 как решение

Решение

Сделала как то так ))) может не очень красиво и слишком громоздко, но пока работает)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
// от 40 лет и старше
if (radioButton6.Checked & (radioButton1.Checked | radioButton2.Checked | radioButton3.Checked))
{
if (radioButton1.Checked) sex = 1; // мужчины
else sex = 0;
if (radioButton2.Checked) sex = 0; // женщины
else sex = 1;
 
SqlConnection connection1 = new SqlConnection("server=portal; User Id=web_; Password=web; database=MsActivity; database=HR; ");
connection1.Open();
 
string st1 = "SELECT DISTINCT TN, pip.pFam, pip.pIm, pip.pOtch, pip.pDatBth, 
datediff(year, pip.pDatBth, getDate()) as Age, s.NameSex 
FROM [MsActivity].[dbo].[tLinkPersonProgram] pp 
LEFT JOIN HR.dbo.hrPerson pers ON pers.IDPerson = pp.IDPerson 
LEFT JOIN HR.dbo.hrPiple pip ON pip.IDPiple = pers.IDPiple 
LEFT JOIN HR.dbo.hrSex s ON s.IDSex = pip.IDSex                       
LEFT JOIN MsActivity.dbo.tMedProgram mp ON mp.IDMedProgram = pp.IDMedProgram 
WHERE (datediff(year, pip.pDatBth, getDate()) >= 40) and (pip.IDSex = '" + sex + "')";
 
                    SqlDataAdapter db1 = new SqlDataAdapter(st1, connection1);
                    DataSet ds1 = new DataSet();
                    db1.Fill(ds1);
                    dataGridView2.Columns.Clear();
                    dataGridView2.DataSource = ds1.Tables[0].DefaultView;
                    connection1.Close();
                    dataGridView2.Columns[0].HeaderText = "Таб.№";
                    dataGridView2.Columns[0].Width = 80;
                    dataGridView2.Columns[1].HeaderText = "Фамилия";
                    dataGridView2.Columns[1].Width = 130;
                    dataGridView2.Columns[2].HeaderText = "Имя";
                    dataGridView2.Columns[2].Width = 100;
                    dataGridView2.Columns[3].HeaderText = "Отчество";
                    dataGridView2.Columns[3].Width = 130;
                    dataGridView2.Columns[4].HeaderText = "Дата рождения";
                    dataGridView2.Columns[4].Width = 100;
                    dataGridView2.Columns[5].HeaderText = "Возраст";
                    dataGridView2.Columns[5].Width = 80;
                    dataGridView2.Columns[6].HeaderText = "Пол";
                    dataGridView2.Columns[6].Width = 80;
                    label9.Text = ds1.Tables[0].Rows.Count.ToString(); // количество строк
 
                }
Поясню: radiobutton6 - это возраст от 40 лет и старше, radiobutton1,2,3 - все, мужчины, женщины соответственно.
Мужчины и женщины находятся, все замечательно.

ВОПРОС: как показать их всех? т.е. и мужчин и женщин. Помогите пожалуйста
1
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
17.12.2014, 17:24
ввести параметр @sex и в where написать sex=@sex or @sex is null
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.12.2014, 17:24
Помогаю со студенческими работами здесь

Выборка по двум параметрам (id, postid)
Привет, пытаюсь сделать выборку для админки по двум параметрам. Для редактированияя статьи. /admin?id=2&amp;postid=44 как то так. Код не...

Выборка из таблицы mysql по двум параметрам
Здравствуйте все! Нужно из таблицы mysql сделать выборку строки по двум значениям. В базе есть таблица со столбцами id, user_wmid,...

Выборка по двум параметрам (cat, podcat)
Привет, хочу сделать подкатегории. незнаю как сделать выборку site.ru/cat=2podcat=3 . Как такое реализовать, пример желательно.

Запрос с параметром и если в результате не единственное значение то выборка уже по двум параметрам
Мужики помогите. Нужно выбрать допустим студента из базы данных через запрос с параметром (допустим по фамилии) но так как студентов с...

Получить данных о пользователе по gmail (пол, возраст)
Добрый день, уважаемые. Я умею считывать адреса почтовых ящиков с телефона. Определяю основной у пользователя по gmail. - и если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru