我有以下查询来查找与订单相关的客户。我在客户上有一个旧 ID,因此我必须检查旧 ID(旧版)和客户 ID,因此使用 or 语句
SELECT
c.Title,
c.Name
FROM productOrder po
INNER JOIN Employee e ON po.BookedBy = e.ID
CROSS APPLY (
SELECT TOP 1 *
FROM Customer c
WHERE(po.CustID = c.OldID OR po.CustID = c.CustID)
) c
GROUP BY
c.CustomerId, c.Title, c.FirstName, c.LastName
如果我删除该OR
语句,它在这两种情况下都运行良好。有一个关于客户 ID 和遗产的索引。