首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有连接两侧字段相等的条件,则不能使用完全外部联接。

如果没有连接两侧字段相等的条件,则不能使用完全外部联接。
EN

Stack Overflow用户
提问于 2018-03-02 16:30:47
回答 1查看 5.5K关注 0票数 1

我有三张桌子

table_4

  • 名字
  • 电话
  • 电子邮件
  • additionalColumns4

table_5

  • 电话
  • additionalColumns5

table_6

  • 电话
  • 电子邮件
  • additionalColumns6

每个表都有不同的数据片段。

我想要创建一个大表,将所有可能的数据连接起来(一个人在1和3个表中,第二个人在2个表中等等)--并且希望将它合并到一个大表中,比如。

  • table4.name
  • table4.phone
  • table4.email
  • table4.additionalColumns4
  • table5.phone
  • table5.additionalColumns5
  • table6.phone
  • table6.email
  • table6.additionalColumns6 从table_4完全连接table_5 ON table_5_field_s_mail_dmp_id =table_4_field_email_dmp_id完全连接table_6 ON table_6_field_phone2_dmp_id =table_4_field_phone_dmp_id中选择*

效果很好,但是

代码语言:javascript
复制
  SELECT
    *
  FROM
    table_4 
  FULL JOIN
    table_5
  ON
    table_5_field_s_mail_dmp_id =table_4_field_email_dmp_id
  FULL JOIN
    table_6
  ON
       table_6_field_phone2_dmp_id     =table_4_field_phone_dmp_id
    OR table_6_field_phone1_dmp_id     =table_4_field_phone_dmp_id
    OR table_6_field_workphone_dmp_id  =table_4_field_phone_dmp_id
    OR table_6_field_addphone_dmp_id   =table_4_field_phone_dmp_id
    OR table_6_field_email_dmp_id      =table_5_field_s_mail_dmp_id
    OR table_6_field_email_dmp_id      =table_4_field_email_dmp_id 

返回

错误:如果没有连接两侧字段相等的条件,则不能使用完全外部联接。

我无法克服这个错误和如何解决我的问题

又说我查过

代码语言:javascript
复制
SELECT
  *
FROM
  table_4
FULL JOIN
  table_6
ON
  (table_6_field_phone2_dmp_id =table_4_field_phone_dmp_id
  OR table_6_field_phone1_dmp_id =table_4_field_phone_dmp_id
  )

它也会返回同样的错误。大查询不喜欢还是在完全连接条件下?

EN

回答 1

Stack Overflow用户

发布于 2018-03-06 12:55:27

编写单独的查询,然后使用COALESCE。(发帖a nice example的Ajit是功劳。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49073352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档