![]() 8 / 5 / 3
Регистрация: 11.03.2015
Сообщений: 94
|
|
Запрос с несколькими условиями13.03.2018, 23:33. Показов 5786. Ответов 8
Метки нет Все метки)
(
Здравствуйте, специалисты! Помогите, пожалуйста, составить sql-запрос.
Дано: две таблицы 1) клиенты clients (id, workstatus): идентификатор клиента и его статус 2) платежи payments (id, client, pay_group, summa): идентификатор платежа, клиент, которому принадлежит платеж, группа платежей, сумма все поля целые (сумма - вещественная). Связаны таблицы так: payments.client->clients.id Балансом по группе G для клиента C назовём сумму по полю summa всех платежей, у которых client=C и pay_group=G Надо: выбрать id всех клиентов, у которых: workstatus=1 и баланс по группе 1 меньше 100 и баланс по группе 6 меньше 0
0
|
13.03.2018, 23:33 | |
Ответы с готовыми решениями:
8
Выполнить запрос с несколькими условиями Удаляются не уникальные данные при выборке из таблицы с несколькими условиями используя оператор OR Запрос с условиями |
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 200
|
||||||
14.03.2018, 01:28 | ||||||
Попробуйте так, хотя я не на 100% уверен...
1
|
![]() 8 / 5 / 3
Регистрация: 11.03.2015
Сообщений: 94
|
|
14.03.2018, 02:20 [ТС] | |
М_Сергей, Vlad-Troshin, спасибо, что не прошли мимо, но вы не учитываете того, что в запросе должна сравниваться сумма по полю summa, а не само это поле. А также, если условие1 И условие2 (у вас OR, т.е. ИЛИ).
Наверное, надо как-то select в selectе использовать, или having.
0
|
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
|
||||||
14.03.2018, 09:30 | ||||||
![]() Решение
На вскидку, так. Могут быть ошибки в синтаксисе ибо не проверял
1
|
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 200
|
||||||
14.03.2018, 14:44 | ||||||
И еще, здесь нет ошибки? Условие `summa` < 100 означает диапазон от всей отрицательной зоны чисел до 100 (не включая), а условие `summa` < 0 - только отрицательная зона, т.е для обоих условий удовлетворяется отрицательная зона чисел. Или же в 1-ой группе в приципе отрицательных summa не бывает?
0
|
![]() 8 / 5 / 3
Регистрация: 11.03.2015
Сообщений: 94
|
|
14.03.2018, 14:52 [ТС] | |
М_Сергей, вы опять пытаетесь сравнить 100 и 0 с полем summa, а нужно сравнивать с суммой (по полю summa) всех платежей, у которых pay_group=1 и pay_group=0 соответственно.
Ошибки нет. Там вообще все параметры задаются пользователем.
0
|
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
|
|
14.03.2018, 15:09 | |
М_Сергей, насколько я понял задание пользователь может по нескольку раз находится в разных группах вы же пишите условие или в перовой или в 6. Собственно потому я в своем пример и выделил отдельно таблицу с пользователями первой группы, отдельно с 6 и потом вывел пересечение. И summa это сумма платежа одного, а их несколько.. в разных группах..., ну вы поняли=D
PhantomSoft, по тому, запросу который я предлагал, есть какие-то замечания дополнения?
1
|
![]() 8 / 5 / 3
Регистрация: 11.03.2015
Сообщений: 94
|
||||||
14.03.2018, 15:32 [ТС] | ||||||
Корд, у вас во второй строке лишний алиас t (но это мелочи).
Для меня главной задачей было понять, как построить эти запросы, как связать их в один и как размножать эти условия (количество и параметры для этих условий задаются пользователем и наперёд не известны). Вот окончательный вариант, с учётом статуса клиента и третьим дополнительным условием:
Спасибо всем откликнувшимся!
0
|
14.03.2018, 15:32 | ||||||
Помогаю со студенческими работами здесь
9
Запрос работающий с несколькими таблицами SQL запрос с несколькими переменными Запрос с несколькими условиями Запрос к БД с несколькими условиями Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
|
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
|
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что прямое соотношение. . .
|
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
|
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
|
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
|
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
|
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
|