在我的应用程序中,我有一个表中的自由职业者列表以及另一个表中的工作速率配置。工作费率配置类似于每小时费率,每日费率,每工作类型费率
有些自由职业者没有每小时费率,而是每天或每工作类型。
我的初始查询是(LEFT OUTER)将freelancer表与freelancer_workrates表连接并根据perhrrate过滤行。每当perhrrate不可用时,我想使用相同的查询检索他们的下一个可用费率。这可能吗?
目前,我在结果集中检查了这一点,并为那些自由职业者单独调用以获得他们的下一个可用费率。这最终导致对数据库进行过多的SQL查询。我想避免这种情况。
有什么建议吗?
答案 0 :(得分:1)
使用coalesce
这将从三种费率中选择第一个非NULL值
Coalesce(perHrRate, perDayRate, perWorkTypeRate)