【发布时间】:2017-10-30 18:05:14
【问题描述】:
我有 2 张桌子:
客户
AccountId Cdescr other customer cols...
1000 ABC
分支
AccountId BranchId Bdescr other branch cols...
1000 1 AAA
1000 2 BBB
我找不到实现这一目标的方法
AccountId BranchId Cdescr Bdescr branchCols... customerCols...
1000 0 ABC NULL NULL VALUES...
1000 1 NULL AAA VALUES... NULL
1000 2 NULL ABC VALUES... NULL
customer表上缺少的branchId列应该默认设置为0。
我需要能够同时搜索 Cdescr 和 Bdescr,并且 Customer 表上的每个匹配项都应该选择相关的分支。如果仅在分支表上进行数学运算,则应选择相关的客户行
在 branchId 上使用 FULL OUTER JOIN 连接实际上不起作用
SELECT *
FROM (
SELECT *, 0 as branchId
FROM Customers
WHERE CONCAT(an_descr1, an_descr2) LIKE '%SEARCH_STRING%'
) a
FULL OUTER JOIN Branch d ON d.branchId = a.branchId
在当前查询中,我无法在分支表中搜索
【问题讨论】:
-
能否请您提供用于测试完整外连接的查询?您收到错误还是给出错误的结果集?
-
BranchId (0)来自哪里? -
我没有错误...将使用实际查询进行编辑
标签: sql sql-server