SQL 联盟加入问题
SQL Union Join Issue
需要 SQL UNION
方面的帮助。
下面列出了 2 个表格。 ListPriorities
包含每个优先级的名称列表。每个 Tasker
都有一个与之关联的优先级。
Table 1: 列表优先级
列:
ListPrioritiesID, ListPrioritiesName, isActive
Table 2:塔斯克
列:
TaskerID, TaskOrderNumber, ListPrioritiesID
在管理区域中,管理员可以添加优先级或删除优先级,从而将 isActive
列从 1 更改为 0。有时 Tasker
具有 Priority
已被删除。如果它与相关的 Tasker
相关联,我需要获取活动优先级列表和非活动优先级列表。
这是目前查询的内容:
SELECT ListPrioritiesID, ListPrioritiesName
FROM ListPriorities
WHERE isActive = 1
UNION
SELECT TaskerID, TaskOrderNumber, T.ListPrioritiesID, LP.ListPrioritiesID
FROM Tasker T
INNER JOIN ListPriorities LP ON T.ListPrioritiesID = LP.ListPrioritiesID
WHERE TaskOrderNumber = 'ABC123'
只有当两个关系具有相同的关系时,您才能在它们之间进行合并schema.In你的情况是模式不相同。
SELECT LP.ListPrioritiesID, LP.ListPrioritiesName
FROM ListPriorities LP
WHERE LP.isActive = 1
OR LP.ListPrioritiesID IN (SELECT t.ListPrioritiesID
FROM Tasker t
WHERE t.TaskOrderNumber = 'ABC123')
需要 SQL UNION
方面的帮助。
下面列出了 2 个表格。 ListPriorities
包含每个优先级的名称列表。每个 Tasker
都有一个与之关联的优先级。
Table 1: 列表优先级
列:
ListPrioritiesID, ListPrioritiesName, isActive
Table 2:塔斯克
列:
TaskerID, TaskOrderNumber, ListPrioritiesID
在管理区域中,管理员可以添加优先级或删除优先级,从而将 isActive
列从 1 更改为 0。有时 Tasker
具有 Priority
已被删除。如果它与相关的 Tasker
相关联,我需要获取活动优先级列表和非活动优先级列表。
这是目前查询的内容:
SELECT ListPrioritiesID, ListPrioritiesName
FROM ListPriorities
WHERE isActive = 1
UNION
SELECT TaskerID, TaskOrderNumber, T.ListPrioritiesID, LP.ListPrioritiesID
FROM Tasker T
INNER JOIN ListPriorities LP ON T.ListPrioritiesID = LP.ListPrioritiesID
WHERE TaskOrderNumber = 'ABC123'
只有当两个关系具有相同的关系时,您才能在它们之间进行合并schema.In你的情况是模式不相同。
SELECT LP.ListPrioritiesID, LP.ListPrioritiesName
FROM ListPriorities LP
WHERE LP.isActive = 1
OR LP.ListPrioritiesID IN (SELECT t.ListPrioritiesID
FROM Tasker t
WHERE t.TaskOrderNumber = 'ABC123')