2015-05-09 4 views
0

мне нужна коррекция пожалуйстаSUM и ВЫБРАТЬ ВСЕ

SELECT *, SUN(mytable2.quantite) 
FROM mytable1 
INNER JOIN mytable2 
ON mytable1.id = mytable2.id_table_article 

Я хочу, чтобы выбрать все столбцы и SUM один столбец. Как я могу это сделать, пожалуйста?

У меня есть проблема, потому что я думаю, что SUM работает с ExecuteScalar и SELECT * работы с ExecuteReader() :(как я не могу фьюжн этот результат, потому что мне нужно, чтобы показать этот результат на на моем ListView, поэтому мне нужно один запрос:/ Я работаю с SQLite

+1

Пожалуйста, измените свой вопрос и предоставить образцы данных и желаемые результаты. Использование '*' и 'SUM()' в том же самом выборе не имеет смысла - каждый получает все столбцы, а другой предполагает агрегацию. –

+0

Уменьшение результата не имеет смысла, будут показаны все значения столбцов, за исключением одного столбца, который будет показывать только значение (сумма всех значений столбца). – frb

ответ

0

Я подозреваю, что вы хотите каждый столбец из mytable1 и соответствующей суммы от mytable2 Если да, то вы можете использовать подзапрос:.

SELECT t1.*, 
     (SELECT SUM(t2.quantite) 
     FROM mytable2 t2 
     WHERE t1.id = t2.id_table_article 
     ) as quantite 
FROM mytable1 t1; 
+0

Спасибо, могу ли я написать этот запрос следующим образом: Таблица SELECT. * (SELECT SUM (table2.quantite) WHERE table1.id = table2.id_table_article) FROM table1; Это правильно? – thedarkside

+0

Совсем нет. По крайней мере, в нем отсутствует запятая, предложение 'from' и имеет неправильный псевдоним таблицы. Версия в моем ответе должна работать. –

+0

Другие думают, пожалуйста, когда я пишу: MessageBox.Show (читатель ["nameofcolomn of table1"]. ToString()); Я получаю результат, но когда я пишу MessageBox.Show (читатель ["nameofcolomn of table2"]. ToString()); я получаю ошибку: '( – thedarkside

Смежные вопросы