2016-03-25 1 views
0

Прежде всего, мне нужно найти идентификатор продавца, имена продавцов (первый и последний), их номер SIN, проданное количество, цену за единицу и общую сумму в продажах (и мне нужно обозначьте это поле как TotalSales) для каждого продукта.SQL. Это связано с умножением двух столбцов из разных таблиц.

Вот данные:

enter image description here

Вот что я сделал до сих пор, дайте мне знать, если это не так:

SELECT 
    s.SalesmanID, s.FirstName, s.LastName, s.SIN, 
    ps.QuantitySold, ps.UnitSalesPrice, 
    (this is where I’m stuck, I must have to create a new column called TotalSales here) 

Позвольте мне знать, если вы можете помочь!

+2

вы знакомы с тем, что внутренние и внешние объединения? (серьезный вопрос). –

+0

Является ли sellid и saleamanid тем же самым? Являются ли их отношения между этими двумя? – patelb

+0

@patelb они считаются равными да. – Brad

ответ

2
SELECT s.SalesmanID, max(s.FirstName) first_name, max(s.LastName) last_name, max(s.SIN) sin, sum(ps.QuantitySold) sold_qty, sum(ps.quantitysold * ps.UnitSalesPrice) total_sales_AMT from salesmen s join productsales PS on s.salesmanid = PS.sellerid group by s.salesmanid 

Вам необходимо сделать совместное с группой, чтобы получить общее количество продаж и цены продажи на уровне продавца. См. Код выше.

Причина объединения и группы заключается в том, что я предполагаю, что между продавцами и продуктами существует соотношение «один-много».

Если вам нужно сделать это на уровне продавца и продукта, то вы хотите расширить группировку. Смотри ниже. более

SELECT s.SalesmanID, ps.productid, max(s.FirstName) first_name, max(s.LastName) last_name, max(s.SIN) sin, sum(ps.QuantitySold) sold_qty, sum(ps.quantitysold * ps.UnitSalesPrice) total_sales_AMT from salesmen s join productsales PS on s.salesmanid = PS.sellerid group by s.salesmanid, ps.productid 

Одно примечание что заменить объединение с левым внешним соединением, если вы хотите, чтобы все продавцы, а не только те, которые имели продажу

+0

Спасибо @patelb Можете ли вы объяснить, как и где было создано новое поле (TotalSales) с использованием UniteSalesPrice, умноженное на NumberSold? – Brad

+1

Я пропустил этот множитель. Я сделал редактирование. Проверьте блоки кода сейчас. – patelb

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