我确实要求这个问题的一部分here只是为了让我自己从被卡住的地方开始。但是,现在我遇到很多问题需要进一步寻找解决方案。那么,我应该说我已经结束了自己的状态,在那里我可以编写一个纯粹逻辑的复杂查询。但是,现在我在这种情况下,我意识到了逻辑,但不能通过写作来实现。这里是我的问题的描述:使用连接和select语句进行计算SQL
问题:
表1:
REFID ARTIKEL SUPPLIERID ORGID PIECES COSTPRICE DISCOUNT
126663 TV SONY 922 6 110 2.5
126663 TV Toshiba 922 4 75 2
126663 TV SONY 922 10 80 1
126663 TV LG 922 10 80 1
126663 TV SONY 922 4 65 1.5
126663 TV SONY 922 14 95 1.5
表2:
REFID ARTIKEL SUPPLIERID ORGID STOCK_SUM_PIECES
126663 TV SONY 922 16
126663 TV Toshiba 922 20
表3:
REFID ARTIKEL SUPPLIERID ORGID STORE SALE_SUM_PIECES DATE
126663 TV SONY 922 100 4 01.01.2014
126663 TV Toshiba 922 100 3 01.01.2014
要执行的操作:
首先我需要从table2
和table3
respectively.For例子总结STOCK_SUM_PIECES
和SALES_SUM_PIECES
:SUM_RESULT为16 + 4 = 20,用于从SONY和TABLE2表3 接着,如图分发SUM_RESULT
到行中table1
here。在分发过程中,一旦值达到零,就意味着只有那些行对TABLE2中的“SUM_PIECES”有效。例如:SONY的SUM_RESULT 20
仅适用于TABLE1
中的三行,因为件数总计为20,即6 + 10 + 4 = 20。现在只选择这三行并计算TABLE1中的成本价格和折扣的平均值。
这是我无法解决的最复杂的部分。我不是要求一个人写一个查询,而是给我一个想法或方法来结束解决方案。
我目前成功地进行适当的连接,但在连接期间无法执行计算。这对我来说很复杂,因为我不能使用curosrs或for循环等,因为我必须使其性能高效,并且数据量也可能超过十亿行。所以它必须使用连接和选择语句来完成。 任何建议请帮忙!
感谢
假设mysql标记是错误的。我会建议试着让你的问题自成一体,展示你尝试过的东西,想要什么。你可以用你试过的东西得到你想要的东西。 –
我写的井问很大,字段名称与示例中显示的不一样。这就是为什么我试图创建一个可以简单的方式定义我的问题的小例子 –
示例数据没问题,但是查询和期望的输出在哪里?把这些问题都放在这个问题上,你会得到比现在更好的回应,即时通讯。 –