需要查询以跟踪2个表

时间:2017-12-18 09:10:43

标签: sql vb.net join casting

我需要帮助构建SQL查询以从具有多个价格和不同数量的2个表中检索数据。此查询应该排除价格相应数量左侧的不同值。

样本表如下:

表名: DETAILPURCHASE

ITEMID	      MRP	SALEPRICE   COST  QTY Purchased
1	      100	   100	     80	       125
1	      100	   100	     80	       125
1	      100	    95	     80	       120
1	      220	   210	     10	       100
1	      220	   220	    100	        50
1	      200	   200	    100	        50
1	      100	    95	     80	        60
1	      100	    95	     80	        60
2	       80	    80	     50	        50
2	       80	    80	     50	        50
2	       80	    80	     50	        89
2	       50	    50	     40	        89
2	       50	    50	     40	        78
1	      200	   200	    100	        78
1	      100	    95	     80	        50

表名: DETAILSALE

ITEMID	MRP	SALEPRICE	COSTPRICE	QTY Sold
1	100	   95	           80	         150
1	100	  100	           80	         200
1	200	  200	          100	         128

结果表:样本对于商品ID:1

MRP	SALEPRICE	COSTPRICE	QTY LEFT
100	100	           80	       50
100	95	           80	      140
220	210	           10	      100
220	220	          100	       50

对于物品ID 1:销售数量:128为MRP:200因此总购买=总销售使其为'0'。因此,此行不应可见

结果表:样本对于商品ID:2

MRP	SALEPRICE	COSTPRICE	QTY LEFT
80	80	           50	       189
50	50	           40	       167
由于没有对ItemID 2进行销售,所有记录都应该是可见的

select  DP.[PRICE],
        DP.[PRICE],
        DP.[CP],
        DP.[MRP],
        SUM(CAST(DP.[QUANTITY] AS NUMERIC(18,2))) - SUM(CAST(DS.[QTY] AS NUMERIC(18,2))) 
FROM    [iBillDB].[dbo].[DETAILPURCHASES] DP , 
        [iBillDB].[dbo].[DETAILSALE] DS 
WHERE DP.ITEMN = 1 
AND DP.ITEMN= DS.ITEMN 
AND DP.PRICE = DS.PRICE 
GROUP BY DP.[PRICE],DP.[PRICE],DP.[CP],DP.[MRP]

返回Nothing / Empty Rows

请帮忙。

提前谢谢

0 个答案:

没有答案