[英]SQL Union Join Issue
在 SQL UNION
方面需要帮助。
我在下面列出了 2 个表。 ListPriorities
包含每个优先级的名称列表。 每个Tasker
都有一个与之关联的优先级。
表 1:列表优先级
列:
ListPrioritiesID, ListPrioritiesName, isActive
表 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'
只有当它们具有相同的架构时,您才能在两个关系之间进行联合。在您的情况下,架构不相同。
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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.