我有这张桌子折扣:
from | to | Dis
1 | 50 | 10
51 | 80 | 20
81 | 99 | 30
99 |120 | 40
我有这个工作表MyTable:
id | sum | dis
123| 22 |
222| 85 |
131| 85 |
如何填写MyTable中的dis字段?表格看起来像这样:
(如果from和to之间的总和)
id | sum | dis
123| 22 | 10
222| 85 | 30
131| 95 | 40
我在访问中需要它
提前致谢
答案 0 :(得分:1)
你必须使用一个不平等的联接,大多数人加入的东西必须是某个时候等于某些东西,但事实并非如此
SELECT tblMyTable.ID, tblMyTable.Sum, tblDiscount.Dis
FROM tblMyTable INNER JOIN tblDiscount ON tblMyTable.Sum <= tblDiscount.To AND tblMyTable.Sum >= tblDiscount.From
Access不支持在设计模式下查看它们,因此您必须自己编写SQL
编辑: 这是一个简单的不同版本,它是一个外部联接,所以如果你没有设置该值的折扣范围,它将默认为0
SELECT tblMyTable.ID, tblMyTable.Sum, NZ(tblDiscount.Dis,0) AS Discount
FROM tblMyTable LEFT OUTER JOIN tblDiscount ON tblMyTable.Sum <= tblDiscount.To AND tblMyTable.Sum >= tblDiscount.From
答案 1 :(得分:0)
您可以使用相当标准的解决方案,即:
SELECT MyTable.id, MyTable.sum, Discount.Dis
FROM Discount, MyTable
WHERE MyTable.sum Between [Discount].[From] And [Discount].[To]
这可以在查询设计窗口中设置。