Sql запрос с использованием объединений, чтобы найти сумму количества - PullRequest
0 голосов
/ 03 апреля 2020

Product table

billtran table

Здесь, в таблице billtran, продукция = 1 повторяется дважды

Я хочу найти sum(billtran.quantity) каждого продукта отдельно

I want this output,the out expected my me is

select Query1:

 select name,billtran.quantity from product inner join billtran on product.id=billtran.productid where product.id in(select id from product)

Output of select query1

Ответы [ 3 ]

1 голос
/ 03 апреля 2020

Прежде всего вы должны получить сумму суммы в соответствии с product_id

SELECT  product.name, SUM(billtran.quantity) AS value_sum 
    FROM billtran inner join product on product.id= billtran.product_id where product.id in(select id from product ) 
    GROUP BY product_id;

Это будет результат:

name    quantity
abc      6
xyz      1
pqt      3

Вы можете получить то же самое результат, сгруппировав также product.name:

SELECT  product.name, SUM(billtran.quantity) AS value_sum 
FROM billtran inner join product on product.id=billtran.product_id where product.id in(select id from product) 
GROUP BY  product.name;

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

1 голос
/ 03 апреля 2020

Очень простой запрос. Пожалуйста, проверьте ниже: выберите product.name, сумму (billtran.quantity) из внутреннего продукта продукта billtran в группе product.id = billtran.productid by billtran.productid

1 голос
/ 03 апреля 2020

За комментарий:

select name, SUM(billtran.quantity) from product inner join billtran on product.id=billtran.productid where product.id in(select id from product)
GROUP BY NAME

Мои добавления в заглавных буквах

Примечание: where product.id in(select id from product) - совершенно бесполезное предложение where, и его следует удалить. Запросы не должны иметь предложение where и не нуждаются в предложении, в котором говорится, что идентификатор таблицы должен присутствовать во всех идентификаторах этой таблицы (всегда true)

Следовательно, я бы написал это как:

SELECT
  p.name,
  SUM(b.quantity) as sumof_quantity
FROM 
  product p
  INNER JOIN billtran b ON p.id=b.productid 
GROUP BY 
  p.name
...