我有一个Access数据库,它链接到Excel用于大学数据库项目。目标是在导入之前通过使用Update / SQL查询来修复不正确/不完整的数据。特别是有一个项目是包含订单状态的字段。如果订单完成=完成,如果订单缺少一些零件=缺货订单而没有任何东西=打开。我遇到的问题是,一个PO ID#上有多个部分,这使得很难确定订单是否延期交货,因为2/5部分可能已完成,而3/5可能是延期交货。关于如何强制访问自动设置默认订单状态的任何想法,还是这是一个长的SQL查询?
由于
答案 0 :(得分:0)
使用SQL,您可以使用CASE
语句返回查询以查找订单状态。我不确定你的父表中的表/列名称,但你可以从这里调整它(我只是假设标识列):
SELECT P.Id, P.Name, "Status" =
CASE
WHEN R.QuantityReceived < I.QuantityOrdered THEN 'Backorder'
WHEN R.QuantityReceived = I.QuantityOrdered THEN 'Complete'
WHEN R.QuantityReceived > I.QuantityOrdered THEN 'Open'
END
FROM PurchaseOrders P INNER JOIN POItem I on P.PurchaseOrderId = I.PurchaseOrderId
INNER JOIN POReceipt R on I.ItemId = R.ItemId
首先,您需要连接表来获取相关记录(这也假设每个只有一个),然后使用CASE
语句返回您要查找的值字段之间的比较。