首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套IIF/查找

嵌套IIF/查找
EN

Stack Overflow用户
提问于 2018-07-03 23:25:35
回答 1查看 186关注 0票数 0

我是SQL、SSRS和Report Builder的新手。

我正在尝试比较三个独立的数据集: 1. poreceipts (这是公司收到的所有采购订单和项目) 2. moat (这是在项目级别可用的所有描述性数据)和3. production (这是一个数据转储,其中包含有关项目和用途的信息,因此它与其他两个数据集有相当多的重叠)。

我首先需要做的是创建一个函数,让我检查ITEM_ID.Value (来自poreceipts)和Sku.Value (来自护城河),并返回Series_Desc.Value (来自护城河)。它看起来像这样:

=查找(字段!ITEM_ID.Value,字段!Sku.Value,字段!Series_Desc.Value,“护城河”)

不幸的是,许多项目的Series_Desc字段是空的。这就是第三个数据集的用武之地。我需要能够检查值是否为空,如果不为空,则返回Series_Desc.Value...如果它为空,那么我需要根据BASE_ITEM.Value (来自dataset production)查找ITEM_ID.Value,以便返回COATED_ITEM_ID.Value (同样来自dataset production),然后需要使用它来查找Sku.Value并返回Series_Desc.Value (来自护城河)。

嘿嘿。这是一张很长的嘴巴,希望它有点清晰。

提前感谢大家!

-K

EN

回答 1

Stack Overflow用户

发布于 2018-07-15 21:59:17

如果我没理解错的话,那么您只需要一个数据集,让数据库服务器为您执行查找。您的数据集的查询应与以下内容类似:

代码语言:javascript
复制
SELECT po.*, ISNULL(m.Series_Desc, m2.Series_Desc) AS Series_Desc
FROM poreceipts po
  LEFT OUTER JOIN moat m ON po.ITEM_ID = m.Sku
  LEFT OUTER JOIN poreceipts b ON po.BASE_ITEM = b.ITEM_ID
    LEFT OUTER JOIN moat m2 ON b.COATED_ITEM_ID = m2.Sku;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51158172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档