可能是一个措辞不好的问题,所以很抱歉。
我有 3 张桌子要连接在一起。
我想要的是将表格中的折扣MAXLINEDISCOUNT
与表格linkloads
中允许的折扣进行比较price_escalation_bands
。
所以在数据中,maxlinediscount 40 必须是表中相同match
的下一个最高折扣。price_escalation_bands
customer_band
所以我希望结果匹配第 1 行,它是青铜,折扣是 45。如果我MAXLINEDISCOUNT
大于 45,然后转到下一个最高值,在这种情况下可能是 50。
当它匹配时,返回该fk_salesman_userid
字段并将其与用户表中的用户名匹配。
显然,所有这些数据都是动态的,因此需要查看下一个最高数据......
目前,它返回为空白,所以不要认为我的语法很正确。
我的查询是:
select price_authorized,load_number,maxlinediscount,customer_band,[price_escalation_bands].fk_salesman_userid,Users.firstname firstname,totalcost,period,creditlimit,currentbalance,customername,totalcubes,treatedcubes,normalcubes,pricingissue from #linkloads
left outer JOIN [price_escalation_bands] on [price_escalation_bands].band=#linkloads.customer_band
AND price_escalation_bands.discount = (
SELECT top 1 [price_escalation_bands].[discount]
FROM [price_escalation_bands]
WHERE [price_escalation_bands].band=#linkloads.customer_band
AND [price_escalation_bands].[discount]<=#linkloads.maxlinediscount
ORDER BY [price_escalation_bands].[discount]
)
left outer join Users
on Users.userid=[price_escalation_bands].fk_salesman_userid
帮助,一如既往的感激。