2016-03-25 66 views
1

對基本的SQL問題有點麻煩。基本的SQL加入表

的問題是,我要姓和名找到銷售人員,那麼他們的社會保險號碼,產品說明,產品價格,銷售數量,其中總銷售量大於5

我將附上下面的數據庫信息作爲照片。

enter image description here

+0

你試過到目前爲止的事情 – mustaccio

+0

到目前爲止,我有如下:選擇 \t \t名字,姓氏,SIN \t從 \t \t推銷員內加入 但現在我不知道如何加入我需要的三個表。 – Brad

回答

2

產品的數量,要得到休息:

SELECT s.FirstName, s.LastName, s.SIN, p.ProductDescription, ps.UnitSalesPrice, ps.QuantitySold 
FROM ProductsSales ps 
LEFT JOIN Products p on p.ProductID = ps.ProductID 
LEFT JOIN Salesmen s on s.SalesmaneID = ps.SellerID 
WHERE ps.ProductID IN 
    (
     SELECT ProductId 
     FROM ProductsSales 
     GROUP BY ProductId 
     HAVING SUM(QuantitySold) > 5 
    ) 
1
SELECT a.FirstName, a.LastName, a.SIN, c.ProductDescription, b.UnitSalesPrice, b.QuantitySold 
FROM Salesmen a 
LEFT JOIN ProductsSales b 
ON a.SalesmanId = b.SellerId 
LEFT JOIN Products c 
ON b.ProductId = c.ProductId 
WHERE b.QuantitySold > 5 
+0

好的,非常感謝你!字母「a」,「b」和「c」只是三個不同的表格正在加入嗎? – Brad

+0

這是錯誤的。它不總計所有銷售的產品 – Hogan

+0

@Brad是別名用於識別表格 – Fabio

1
Select a.FirstName, a.LastName, a.SIN From Salesmen as a, 
    c.ProductDescriptio, c.Price, b.sum(QunatitySold) 
inner join ProductSales as b on a.Salesmanid = b.sellerid 
inner join Products as c on c.ProductId = b.ProductId 
having b.sum(QunatitySold)> 5 
group by a.FirstName, b.ProductDescription 
+0

並非所有銷售人員銷售總數> 5。這是按銷售人員和產品類型分組的。 – Hogan

+0

如果查詢選擇價格和描述,那麼我認爲聚合等級也適用於產品..(和人) – scaisEdge

1

布拉德,

歡迎SQL。在我剛開始的時候加入我是一種可怕的經歷,但它非常簡單。一般的概念是這樣的:

選擇一個加入

如果你想看到的所有記錄,這將是兩個表之間的共同,你會使用和JOIN。如果你想在兩個表結合起來,但仍然顯示所有記錄您使用LEFT JOIN

的基本語法

SELECT fieldnames FROM tablename alias 
JOIN othertable alias ON firstalias.field = secondalias.field 
--Example 
SELECT animal, food, idtag from animals a 
JOIN food f on a.animalid = f.animalid 

這裏假設你在這兩種動物表和食臺上有一個共同的領域animalid。您還應該在別名前面加上別名,以便更容易理解,如下所示:a.animal, f.food

而且您一直在繼續,直到您加入了所需的所有表格。 確保只要求字段名你想

希望幫助售出超過5

SELECT ProductId 
FROM ProductsSales 
HAVING SUM(QuantitySold) > 5 

使用