首页 > 解决方案 > SQL 3 表联合、连接、输入

问题描述

我有一个表的查询,它带回了一堆活跃的类别。目标是恢复这些类别,此外:如果任务订单分配给它的类别不再活动,则也将其恢复。例如,假设有 10 个活动类别和 3 个不活动类别,并且任务顺序与一个不活动类别相关联,查询将带回 10 个活动类别加上 1 个不活动类别,因为它与任务顺序相关联。

FundingLineCategory Table: FundingLineCategoryID, FundingLineCategoryName, isActive

FundingLine Table: FundingLineID, FundingLineCategoryID, FundingLineName, isActive

Tasker Table: TaskerID, TaskerTypeID, TaskOrderNumber, FundingLineID

初始查询

SELECT DISTINCT FundingLineCategoryID, FundingLineCategoryName, isActive
FROM FundingLineCategory
WHERE isActive = 1

一开始看起来很直接,但是Tasker表只有FundingLineID,我们必须获取FundingLine表中的FundingLineCategoryID。所以到目前为止我有 2 个表,但不知道如何添加第 3 个表:

SELECT DISTINCT FundingLineCategoryID, FundingLineCategoryName, isActive
FROM FundingLineCategory
WHERE isActive = 1
   OR FundingLineCategoryID IN 
            (SELECT FundingLineID
             FROM Tasker 
             WHERE TaskOrderNumber = 'ABC123' )

标签: sqljoinunion

解决方案


推荐阅读