我的項目是關於一家珠寶店,我試圖找到最大利潤的產品。如何找到3個不同的表格之間的利潤
我有3個表,給了我的信息:
SALES表:
salesid productid Quantity Price
11001 13001 4 5
11002 13002 6 10
11003 13003 5 16
.
.
11012 13012 7 15
返回表:
salesid productid Quantity Price
11003 13003 1 16
11007 13007 3 12
11008 13008 3 8
採購表:
procurementid productid Quantity Price
100001 13001 10 2
100002 13002 10 2
.
.
100012 13012 10 2
利潤是從第四章給出的是公式:
利潤=數量*價格(賣出) - 產品數量*價格(返回) - 產品數量*價格(採購)
喏,這就是問題。我來到目前爲止
select a.productid,(a.quantity*a.price-b.quantity*b.price-c.quantity*c.price) as Profit
from sales as a ,return as b ,procurement as c
where a.productid = c.productid
GROUP BY productid
在這種情況下,我沒有得到正確的答案。
這是因爲在返回表中,我只有3個寄存器,但在其他表中,我有12個,所以當它計算利潤時,它使用整個返回表爲其他表的每一行。
我試圖使用max(Profit)
但它沒有做任何事情。
我實際上不知道如何連接返回表的3個寄存器,以便它們僅在必要時使用。當我嘗試連接時,很多行都是空的。我認爲必須用OUTER JOIN
或其他什麼來完成,但我不知道該怎麼做。
<3 <3 <3 <3 <3 <3 <3 <3 <3 <3 <3 <3 <3 <3 – user2432398
@ user2432398 - np,很高興能提供幫助。順便說一句 - 我不完全確定你是否需要使用SUM - 如果你的表中只有12條記錄(即1-1關係),那麼你將不需要任何聚合。但是,如果您的銷售表可能有多個產品記錄,請使用SUM查看Gordon的答案。親切的問候。 – sgeddes