Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
20 / 20 / 12
Регистрация: 27.04.2012
Сообщений: 145

Выборка с использованием данных из других строк

05.09.2016, 20:29. Показов 619. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Подскажите, пожалуйста, как можно решить следующую задачу.

Есть, собственно, база. В ней есть записи такого типа:



Значения sum - это расходы и возвраты. То есть, с карты 100 сперва списали 10, а потом вернули 5.

Суть в том, чтобы используя только sql получить на выходе таблицу, в которой будут только строки с расходами, из которых вычтены возвраты.
То есть, в данном случае, должно получиться такое:



То есть, как я понимаю, нужно при выводе найти строку с положительным значением, потом найти строку с отрицательным значением и таким же номером карты, причем это должна быть ОДНА ближайшая по дате строка.

Как это можно сделать? Сейчас пробую нечто вот такое, но не могу оформить.

SQL
1
2
3
4
5
6
7
8
9
10
#Делаю временную таблицу с возвратами (стоит отметить, что возвратов намного меньше, чем списаний)
CREATE TEMPORARY TABLE returns_sum AS (
    SELECT *
    FROM operations
    WHERE volume > 0
);
 
SELECT * FROM operations
 
LEFT JOIN returns_sum ON (returns_sum.card = operationsa.card AND returns_sum.time > returns_sum.time)
Но это фигня, так как оно работает от операций, и выбирает любой ближайший возврат, даже если он к другой операции относится...
Подскажите, что тут нужно?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2016, 20:29
Ответы с готовыми решениями:

Изменить текст в одном txt-файле с использованием двух других для поиска и замены строк
Здравствуйте, подскажите, пожалуйста как можно заменить текст в одном тхт файле... список того, что заменить, находится в первом тхт файле,...

Выборка уникальных данных с использованием count, max
Суть запроса:Вывод ФИО клиентов и самый предпочитаемый вид услуги у каждого из них за год(выбран 2019 год в запросе). Самым...

Выборка и представление данных использованием Entity Framework 6
Здравствуйте уважаемые гуру. Начал изучать Entity Framework. Создал такой модель. class dtbs:DbContext { ...

3
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,169
Записей в блоге: 3
06.09.2016, 09:23
нужно сгруппировать по дате\карте, одновременно суммируя суммы

Добавлено через 5 минут
SQL
1
SELECT MIN(id), card, SUM(SUM), TIME FROM t GROUP BY card, TIME ORDER BY id
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
06.09.2016, 09:25
ljubomir, а как это все коррелирует с датой операции? Я к тому, что в примере показана ситуация, когда списание и возврат произошли в один день, а если списание сегодня, а возврат через 4 дня например? В выводе показывается, как я пониманию, некоторая итоговая сумма именно списания, но за какой период? Месяц? Неделя? Сутки?
Если нужна просто итоговая сумма списания за, пусть будет месяц, это одно, а если нужна полная статистика за каждый день, и только в случае возврата происходит выше предложенная обработка, это немного другое.
0
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,169
Записей в блоге: 3
06.09.2016, 11:26
хм.. да запрос отработает за каждый день
если нужно только в день когда был приход, то нужно сначала отобрать даты прихода и сгруппировать по ним

и еще вопрос по поводу нескольких операций в день
тогда нужно не только отобрать даты, но еще и как то получить расход
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2016, 11:26
Помогаю со студенческими работами здесь

Выборка данных из строк
Не пойму как работает вывод данных из столбца rashod_minut. Запрос SQL из phpMyAdmin: SELECT rashod_minut FROM costs WHERE...

Выборка строк из базы данных андроид
есть база данных по зарплат по месяцам, помогите сформировать запрос что бы вытащить от туда все зарплаты в определенном месяце тут...

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

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк
Программирование с использованием строк (обычный вариант и с использованием 3 видов строк Даны два числа: N1 и N2, и две строки: S1 и...

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк
используя символьный тип char(символ), который соответствует классу System.Char, для организации строки – массив символов типа char,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru