在SSIS中使用数据流任务,对于特定的Id,我需要从两个表中获取一个描述。第一个表应该在ParentTable.Id上连接以获得ParentTabel.Description,第二个连接应该用SubCatagoryTable.ParentId列来获取SubCatagoryTable.Description。然后我必须保持非NULL值,除非两个描述都是NULL。基于第一个查找输出的第二次查找
回答
对查询执行单一查询,该查询执行从您的类别表到您的子类别表和COALESCE描述列的OUTER JOIN,以便如果来自子类别表的描述为NULL(不在表),然后使用类别表中的描述。
使用一个查询。
select coalesce(sub.ID,cat.ID) as ID,coalesce(sub.Descr,cat.Descr) as Descr
from CategoryTable cat
left join SubCatagoryTable sub on cat.ID=sub.ParentID
更新基于您的评论:
使用两个查找(设置不匹配的忽视,这将留下空的不匹配:
首先查找:
集UsingSubDescr等于匹配上:
select sub.ID,cat.Descr as Descr
from CategoryTable cat
join SubCatagoryTable sub on cat.ID=sub.ParentID
第二查找:
集UsingParent在比赛上:
Select ID,descr
from ParentTable
现在使用派生DESCR: DESCR = ISNULL(UsingSubDescr)? UsingParent:UsingSubDescr
在行级别的子类别表我有提供者ID,所以我没有类别说明。 – Proffesore
@Poffesore - 根据您的意见更新 – KeithL
感谢您的更新。非常明确的答案 – Proffesore
- 1. 用于查找第二高的SQL
- 2. 查找第二VLOOKUP值
- 3. 在列表C++中查找第一个和第二个元素
- 4. 用第二个查找表解码一个表的SQL查询
- 5. 查找哪个子字符串第一个出现,哪个出现第二个,哪个出现第三个
- 6. 从第二个数据框查找值
- 7. 查找第二个最小值 - 算法
- 8. 在excel中查找第一次出现的X个失踪日
- 9. 查找第一个与复制第二最低的出现指数元素
- 10. 目录第一次搜索与查找
- 11. 击:找到基于第二列
- 12. 基于第一场和第二输出场打进新文件
- 13. React酶查找第二个(或第n个)节点
- 14. VBA查找倒数第二行的值
- 15. 使用mysql查找第一行数和第二行数
- 16. 正则表达式查找第一个和第二个” occurence在每一行
- 17. jQuery查找第一行
- 18. 查找td中的第一个div
- 19. 查找变量的第一个实例
- 20. 在SQL数据库中查找元素的第一次出现
- 21. 查找文本的第一次出现在Mercurial库
- 22. 查找字符串中第一次出现子串的位置
- 23. 用JavaScript查找本月的第二个和第四个星期二
- 24. 查找当天第一个给定日期的第二个时间戳
- 25. 在Excel中查找列表的第一个和第二个匹配项
- 26. 查找号码或第二大号码
- 27. 查找所有得分从第二次到最近的日期
- 28. 如何将第一个查询(有两个值)的输出作为第二个查询的输入?
- 29. 正则表达式查找第一次出现
- 30. Mysql查询给出不同的计数第一次和第二次执行
这个答案是正确的 – KeithL
我在同一个表上的外连接获得了什么? – Proffesore
错字。我的意思是将该类别加入子类别。我会纠正的。 –