高手快来看看,巨难问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
有三张数据表供应商表、采购定单表和一个分配比例表。 
 第一张表通过SQL查询语句获得价格最低的三个供应商。结果见下表 
 表一 
 产品ID      供应商ID                           价格 
 1319	205	10.0000000000 
 1319	207	120.0000000000 
 1319	206	1245.0000000000 
 1322	205	2.0000000000 
 1333	205	1.0000000000 
 1334	205	.5000000000 
 1346	205	5.0000000000 
 1356	205	5.0000000000     
 采购定单表通过SQL查询语句获得每种产品的需求合计数量。结果见下表 
 表二 
 单号            产品ID      采购的总数量 
 4	1319	4000.0000000000 
 4	1322	3500.0000000000 
 4	1333	3600.0000000000 
 4	1334	3850.0000000000 
 4	1346	3600.0000000000 
 4	1356	3860.0000000000 
 4	1358	3200.0000000000 
 4	1359	2900.0000000000   
 最后一张表 
 表三 
 序号            比例 
 1	70 
 2	20 
 3	10   
 现在要做的工作就是: 
 按产品编号来算。有可能为同一种产品有只有一个供应商,也有能为2或者3,如果为3个供应商,则按照价格由低到高,在表三中增加一列把百分比由高到低加到表一里面对应的行产品后面。然后还要把表二里面的产品采购总数增加到表一里面。   
 请问:这个如何在SQL查询器通过SQL语句来实现(不用存储过程)???? 
------解决方案--------------------设表1为tVendor : ProductID,VendorID,Price 
 t2 : ProductID, Num 
 t3 : 序号,Per     
 由于CSDN的排版乱了,你的测试数据我看不清,就没试,随手敲了一下   
 SELECT ProductID,COUNT(*) cnt, INTO #base FROM tVendor GROUP BY ProductID 
 HAVING COUNT(*)  <> 2   
 SELECT a.ProductID pid,a.Num num,v.Price price, '100% ' [percent] INTO #RST 
 FROM tb2 a inner join #base b ON a.Productid=b.Productid  
 inner join tVendor v on v.Productid=a.Productid WHERE cnt=1   
 INSERT #RST 
 	SELECT b.ProductID,a.Num * c.per,v.Price,RTRIM(c.per) +  '% " 
 	FROM tb2 a 
 	INNER JOIN #base b 
 	ON a.Productid=b.Productid 
 	INNER JOIN tVendor v 
 	ON v.Productid=a.Productid 
 	INNER JOIN tb3 c 
 	ON c.序号=  
 	( 
 	SELECT COUNT(*) FROM tVendor WHERE Productid=a.Productid AND Vendorid=v.VendorID 
 	AND Price <=v.Price 
 	)
------解决方案--------------------顶一下
------解决方案--------------------然后还要把表二里面的产品采购总数增加到表一里面。   
 ----------------- 
 只要 select语句也能实现?那才叫奇了...