Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675

Вывод записей с несколькими условиями

14.12.2016, 09:51. Показов 1021. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица А и Б, связь один-много. В таблице А поля фио и т.д., в таблице Б вторичный ключ и название категории.
ФИО1 - категория1
ФИО1 - категория2
ФИО1 - категория3
ФИО2 - категория3
............................
Если пишу так:
SQL
1
2
3
SELECT *
FROM alone INNER JOIN category ON alone.key_alone = category.fk_alone
WHERE alone.date_sm IS NULL AND category.category = 'категория1' AND category.category = 'категория3'
Он выводит не то что нужно. Т.е. мне нужно вывести ФИО у которых есть категория "категория1" и "категория3" одновременно.
Как это сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2016, 09:51
Ответы с готовыми решениями:

Сложный вложенный запрос с несколькими условиями
У меня есть БД, в которой 3 таблицы `seller`, `buyer`, `orders`; Структуры таблиц на приложенном скриншоте. Мне необходимо составить...

While c несколькими условиями
Добрый день! Подскажите, пожалуйста, мне нужно найти строку в которой ячейки в 2 определенных столбцах единовременно принимают...

do While с несколькими условиями
В пособии дан пример использования цикла: int a = 4; do { System.Console.WriteLine(a); a++; } while (a < ...

8
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 10:00
T-SQL
1
2
3
4
5
6
SELECT *
FROM 
  alone 
  JOIN  category category1  ON alone.key_alone = category1.fk_alone AND category1.category = 'категория1'  
  JOIN  category category3  ON alone.key_alone = category3.fk_alone AND category3.category = 'категория3' 
WHERE alone.date_sm IS NULL
0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
14.12.2016, 10:15  [ТС]
Дело в том что у меня допустим при выборе новой категории она попадает в условие и получается что запрос не статический а динамический (в программе формируется и потом выполняется). и необходимо вывести в вывод эти категории. Т.е. ваш метод не совсем подходит, но работает правильно. Можно ли как нибудь сделать через where?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
14.12.2016, 11:01
Vla00, ваша задача называется "реляционное деление". Этой задаче посвящено множество статей с вариантами реализации.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 12:13
Цитата Сообщение от Vla00 Посмотреть сообщение
при выборе новой категории она попадает в условие и получается что запрос не статический а динамический
т.е. динамически формировать WHERE - это кошерно, а динамически добавлять связанные таблицы - нет?
0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
14.12.2016, 15:58  [ТС]
Цитата Сообщение от YuryK Посмотреть сообщение
т.е. динамически формировать WHERE - это кошерно, а динамически добавлять связанные таблицы - нет?
Программно убрать это легко. а вот программно их удалить, тяжело, я сделал. но это занимает достаточно большое время. И иногда не стабильно.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
14.12.2016, 16:04
Цитата Сообщение от Vla00 Посмотреть сообщение
но это занимает достаточно большое время.
Видимо найти статью про реляционное деление, изучить ее и решить свою задачу без динамических запросов и т.п., займет еще больше времени...
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
14.12.2016, 16:20
invm,

Не по теме:


сессия.....

0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
16.12.2016, 08:56  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Видимо найти статью про реляционное деление, изучить ее и решить свою задачу без динамических запросов и т.п., займет еще больше времени...
Я имею в виду что программа с таким решением долго обрабатывает формирование запроса...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2016, 08:56
Помогаю со студенческими работами здесь

Запрос с несколькими условиями
Здравствуйте Уважаемые! Необходимо опять Ваша помощь и вот в чем: Уважаемые знатоки: однажды ученик накидал маленькую учебную базу где...

Select с несколькими условиями
Добрый день, форумчане. Прошу помочь с формулой. Нужно получить значение в таблицу tblOrders из таблицы tblTarif, исходя из...

Работа while с несколькими условиями
Доброго времени суток, У меня проблема, надо написать программу где в массив вписывается строка символов и необходимо найти есть ли в...

Запрос с несколькими условиями
Здравствуйте, специалисты! Помогите, пожалуйста, составить sql-запрос. Дано: две таблицы 1) клиенты clients (id, workstatus):...

Map с несколькими условиями
Друзья, добрый день. Здоровье уже не позволяет "без поллитра не разберешь", поэтому прошу помощи. Пытаюсь скрестить в map...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru