сформировать запрос
сформировать запрос
Добрый день форумчане.
Видимо моя голова не созданна для сложных запросов в SQL.
есть таблица balans в виде:
_id id_valut id_schet summa
1 1 1 500
2 2 1 1000
3 1 2 5000
4 2 2 10000
нужен запрос на вывод инфы по id_shet=xxx(это легко получается) + мне нужно чтобы считалась общая сумма по id_valut и в этом же запросе...
пример1. из моей таблицы при запросе where id_shet=1
id_valut summa summaALL
1 500 5500
2 1000 11000
пример2. из моей таблицы при запросе where id_shet=2
id_valut summa summaALL
1 5000 5500
2 10000 11000
Заранее благодарен!!!
пс. ссылками не закидывайте, часов 6 уже изучаю http://base.vingrad.ru/view/2871-Osnovyi-yazyika-SQL
Видимо моя голова не созданна для сложных запросов в SQL.
есть таблица balans в виде:
_id id_valut id_schet summa
1 1 1 500
2 2 1 1000
3 1 2 5000
4 2 2 10000
нужен запрос на вывод инфы по id_shet=xxx(это легко получается) + мне нужно чтобы считалась общая сумма по id_valut и в этом же запросе...
пример1. из моей таблицы при запросе where id_shet=1
id_valut summa summaALL
1 500 5500
2 1000 11000
пример2. из моей таблицы при запросе where id_shet=2
id_valut summa summaALL
1 5000 5500
2 10000 11000
Заранее благодарен!!!
пс. ссылками не закидывайте, часов 6 уже изучаю http://base.vingrad.ru/view/2871-Osnovyi-yazyika-SQL
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
по сути мне надо как то обьединить
SELECT id_val, SUM(summa) FROM ... GROUPBY id_val
и
SELECT id_val, summa, FROM... WHERE id_shet= xxx
голова взврывается... помогите
SELECT id_val, SUM(summa) FROM ... GROUPBY id_val
и
SELECT id_val, summa, FROM... WHERE id_shet= xxx
голова взврывается... помогите
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
[syntax=sql]SELECTпарень писал(а):по сути мне надо как то обьединить
SELECT id_val, SUM(summa) FROM ... GROUPBY id_val
и
SELECT id_val, summa, FROM... WHERE id_shet= xxx
голова взврывается... помогите
B1.id_val, B1.summa, B2.summaALL
FROM balans B1
INNER JOIN
(SELECT id_val, SUM(summa) as summaALL FROM balans GROUP BY id_val) B2
ON B1.id_val = B2.id_val
WHERE B1.id_shet= xxx[/syntax]
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: сформировать запрос
Спасибо... но... у меня одна таблица... почему B1 и B2...
ща попробую...
ща попробую...
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
СПАСИБО работает !!! теперь только прикрутить замену id_valuta на ValName из таблицы Valuts...
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
Огромное спасибо, разобрался с Вашей помощью. эх... столько времени потерял...
пс. "FROM balans B1" - разве не так ? "FROM balans AS B1"
пс. "FROM balans B1" - разве не так ? "FROM balans AS B1"
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
и так и так можно
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: сформировать запрос
задача следующая.
есть две таблицы valuta
_id name
1 RUB
2 USD
3 EUR
4 CHN
...
и таблица balansTemp
_id id_val ...
1 1 ...
2 3 ...
3 4 ...
нужно вывести из первой таблицы valuta все строки где _id неравен id_val из таблицы balansTemp
например из данных таблиц должна вывестись только строка 2 (_id=2, name=USD)
пробую так:
Cursor c= mDB.rawQuery("SELECT name, _id FROM valuta WHERE _id<> ALL (SELECT id_val FROM balansTemp)", null);
выдает ощибку: (1) near "ALL": syntax error
если без ALL то строка "(SELECT id_val FROM balansTemp)" равна "1" и выводятся все строки кроме первой, а именно:
_id=2,name=USD
_id=3,name=EUR
_id=4,name=CHN
и дайте плз ссылку(если такая есть) на подробное описание запросов с множеством примеров SQL для андроида...
есть две таблицы valuta
_id name
1 RUB
2 USD
3 EUR
4 CHN
...
и таблица balansTemp
_id id_val ...
1 1 ...
2 3 ...
3 4 ...
нужно вывести из первой таблицы valuta все строки где _id неравен id_val из таблицы balansTemp
например из данных таблиц должна вывестись только строка 2 (_id=2, name=USD)
пробую так:
Cursor c= mDB.rawQuery("SELECT name, _id FROM valuta WHERE _id<> ALL (SELECT id_val FROM balansTemp)", null);
выдает ощибку: (1) near "ALL": syntax error
если без ALL то строка "(SELECT id_val FROM balansTemp)" равна "1" и выводятся все строки кроме первой, а именно:
_id=2,name=USD
_id=3,name=EUR
_id=4,name=CHN
и дайте плз ссылку(если такая есть) на подробное описание запросов с множеством примеров SQL для андроида...
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
Скачай на торренте:Основы программирования и баз данных.парень писал(а):задача следующая.
есть две таблицы valuta
Не бывает SQL для android.
Читай любые книжки по любым базам данных (MySQL, MS SQL, SQLite, PL/SQL)
основы языка SQL, как правило, одинаковые.
Уже приводил пример, чтобы соединить две таблицы нужно использовать
INNER JOIN, LEFT JOIN (остальное пока вам не нужно).
А затем писать условие WHERE.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: сформировать запрос
тогда почему мой запрос скопированный с сайта(Основы SQL) что по ссылке в первом моем посте не работает.trew писал(а): Читай любые книжки по любым базам данных (MySQL, MS SQL, SQLite, PL/SQL)
основы языка SQL, как правило, одинаковые.
разве это не правильно ? но ALL в таком контексте не признается SQLLite у меня...Многострочные операторы сравнения:
IN - Равно любому члену списка;
ANY - Сравнение значения с любым значением, возвращаемым подзапросом;
ALL - Cравнение значения с каждым значением, возвращаемым подзапросом.
Например:
WHERE Column >ALL (SELECT Field FROM Table)
укажи на ошибку плз.
[/quote]Уже приводил пример, чтобы соединить две таблицы нужно использовать
INNER JOIN, LEFT JOIN (остальное пока вам не нужно).
А затем писать условие WHERE.
[syntax=sql]String table = "valuta as VAL " +
" inner join balansTemp as BAL on BAL.id_val = VAL._id";
String columns[] = { "VAL._id as _id","VAL.name as name" };
String groupBy = "";
String where="VAL._id= ALL (SELECT id_val FROM balansTemp)";
Cursor c = mDB.query(table, columns, where, null, groupBy, null, null)
[/syntax]
вот... если без WHERE то выдает только те позиции которые !не нужны. а если знак равенства (в inner join balansTemp as BAL on BAL.id_val = VAL._id) поменять на "<>" то выводит кучу повторений ВСЕХ позиций в valuta...
помоги крайний раз плз )
Последний раз редактировалось парень 22 дек 2013, 17:36, всего редактировалось 1 раз.
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: сформировать запрос
VAL._id IN (SELECT id_val FROM balansTemp)
или
VAL._id NOT IN (SELECT id_val FROM balansTemp)
смотря что нужно.
или
VAL._id NOT IN (SELECT id_val FROM balansTemp)
смотря что нужно.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: сформировать запрос
запрос можно так написатьпарень писал(а): нужно вывести из первой таблицы valuta все строки где _id неравен id_val из таблицы balansTemp
и дайте плз ссылку(если такая есть) на подробное описание запросов с множеством примеров SQL для андроида...
select * from valute where not exists
( select id_valute from balans where valute._id=balans.id_valute)
изучать нужнго следующий сайт http://www.sqlite.org/
имеются особенности в плане построения запросов. ОДнако, любой базовый учебник по базам данных подойдет.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198