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

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

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

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

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

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


Значения 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2016, 20:29
Ответы с готовыми решениями:

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

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

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

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

3
5484 / 4399 / 1076
Регистрация: 29.08.2013
Сообщений: 27,563
Записей в блоге: 3
06.09.2016, 09:23 2
нужно сгруппировать по дате\карте, одновременно суммируя суммы

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

и еще вопрос по поводу нескольких операций в день
тогда нужно не только отобрать даты, но еще и как то получить расход
0
06.09.2016, 11:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2016, 11:26
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru