Феникс, этот вопрос для тебя и для любителей велосипедов :)
Добавлено: 07 сен 2015, 17:26
Всем привет!
4 таблицы.
Хочу написать запрос к БД, таким образом чтобы получить данные из таблицы А со связанными данными из таблиц Б,В,Г. Это легко...
Но для новой фишки в программе, мне нужно ...
Пример:
table operations:
[syntax=html5]
_id || summa || id_val
1 500 1
2 10 2
3 50 3
4 100 1
5 20 2[/syntax]
table valuta (курс к евро)
[syntax=html5]
_id || name || kurs
1 рубль 78.88
2 $ 1.06
3 EUR 1[/syntax]
Вот из такой структуры, мне нужно получить сумму всех операций из таблицы operations в одной валюте. Например в рублях.
У меня сейчас так:
[syntax=sql]"SELECT (SUM(B.summa)/V.kurs) as summa FROM operations B" +
" LEFT JOIN valuta V ON V._id=B.id_val " +
" GROUP BY id_val";[/syntax]
Так мы получим курсор с суммами по каждой валюте уже конвертированной в EUR:
summa=(500+100)/78.88
summa=(10+20)/1.06
summa=(50)/1
Далее цикл по курсору, суммы складываются и умножаются на курс евро\к нужной валюте.
Я бы так и оставил, но помимо суммы мне нужно еще выводить другую информацию из той же таблицы operations. Как можно решить данную задачу одним запросом ?
Огромное спасибо за помощь. Третий день не сплю
4 таблицы.
Хочу написать запрос к БД, таким образом чтобы получить данные из таблицы А со связанными данными из таблиц Б,В,Г. Это легко...
Но для новой фишки в программе, мне нужно ...
Пример:
table operations:
[syntax=html5]
_id || summa || id_val
1 500 1
2 10 2
3 50 3
4 100 1
5 20 2[/syntax]
table valuta (курс к евро)
[syntax=html5]
_id || name || kurs
1 рубль 78.88
2 $ 1.06
3 EUR 1[/syntax]
Вот из такой структуры, мне нужно получить сумму всех операций из таблицы operations в одной валюте. Например в рублях.
У меня сейчас так:
[syntax=sql]"SELECT (SUM(B.summa)/V.kurs) as summa FROM operations B" +
" LEFT JOIN valuta V ON V._id=B.id_val " +
" GROUP BY id_val";[/syntax]
Так мы получим курсор с суммами по каждой валюте уже конвертированной в EUR:
summa=(500+100)/78.88
summa=(10+20)/1.06
summa=(50)/1
Далее цикл по курсору, суммы складываются и умножаются на курс евро\к нужной валюте.
Я бы так и оставил, но помимо суммы мне нужно еще выводить другую информацию из той же таблицы operations. Как можно решить данную задачу одним запросом ?
Огромное спасибо за помощь. Третий день не сплю