具有以下源表Tariff
:
objectId tariffValue productObjectId debtorObjectId careOrderProductObjectId
1001 100.00 1612 140 38000
1888 250.00 1612 NULL NULL
1941 300.00 1612 NULL 42896
2640 175.00 1612 143 NULL
我想离开该表以获取以下网站的rifftyValue:
productObjectId
debtorObjectId
careOrderProductObjectId
我尝试过:
SELECT
l.*
t.tariffValue AS Value
FROM Logtable AS l
LEFT JOIN Tariff AS t on t.productObjectId = l.productObjectid
AND t.debtorObjectid = l.debtorObjectid
AND t.careOrderProductObjectId = l.careOrderProductObjectId
如果它们都匹配,那么很容易。
productObjectId = 1612
debtorObjectId = 140
careOrderProductObjectId = 38000
然后该值必须为100.00
但是当3个或2个或1个匹配时,如何在一次连接中获得正确的值?
例如:
productObjectId = 1612
debtorObjectId = 100
careOrderProductObjectId = 42896
然后值必须是300.00。
或者:
productObjectId = 1612
debtorObjectId = 143
careOrderProductObjectId = 42896
然后该值必须为175.00。
或者:
productObjectId = 1612
debtorObjectId = 180
careOrderProductObjectId = 15896
然后该值必须为250.00。