当前位置: 首页 > 面试题库 >

无法处理MySQL FULL JOIN查询

公孙英飙
2023-03-14
问题内容

我想FULL JOIN跟随两张桌子

表1:人员

P_Id      Name            
 1         A        
 2         B       
 3         C
 4         D
 5         E

表2:发票

  Id       P_Id            
 111        3        
 112        3       
 113        1
 114        1
 115       15

我用这个查询:

SELECT Persons.Name, Persons.P_Id, Invoice.Id
FROM Persons
FULL JOIN Invoice
ON Persons.P_Id=Invoice.P_Id
ORDER BY Persons.Name

但这会产生一个错误

“字段列表”中的未知列“ Persons.Name”

MySQL服务器版本为5.5.19,我在Microsoft Windows7中使用了命令行客户端

内联接,右联接和左联接为我工作,但我无法执行完全联接。有什么错误,请告诉我我仍然是学生。我如何在这里执行FULL JOIN?

谢谢你!


问题答案:

为了FULL JOIN在mysql中进行模拟,您需要UNION两个表中的Right Join和Left Join的结果

SELECT  Persons.Name, Persons.P_Id, Invoice.Id
FROM    Persons
        LEFT JOIN Invoice
            ON Persons.P_Id=Invoice.P_Id
UNION
SELECT  Persons.Name, Persons.P_Id, Invoice.Id
FROM    Invoice
        LEFT JOIN Persons
            ON Persons.P_Id=Invoice.P_Id
  • SQLFiddle演示


 类似资料:
  • 我遵循这个链接的第二个答案(两个步骤)来实现视频到Youtube的上传:使用curl和api v3在Youtube上上传视频 代码工作正常,但当我执行时,我得到的响应是:状态:嵌入:true license:“YouTube”privacystatus:“unlisted”publicstatsviewable:true uploadstatus:“uploaded”

  • 我正在尝试使用制作多模块项目。您可以通过链接查看我的代码。在分支是工作解决方案,其中所有匕首类都在模块中。 现在,我正在尝试为DI根创建单独的< code>app模块。您可以在< code>develop分支中看到最新的尝试。它不起作用。我想在< code>app模块中创建我的根< code > application component 组件,并从其他模块添加< code > presentat

  • 问题内容: 下面是测试程序,包括一个汉字: 以下是结果,请看json.dumps将utf-8转换为原始数字! 为什么这坏了?还是我错了? 问题答案: 您应该阅读json.org。完整的JSON规范在右侧的白框中。 生成的JSON没有错。允许生成器生成UTF-8字符串或纯ASCII字符串,在这些字符串中使用符号转义字符。在您的情况下,Python 模块决定转义,并使用转义符号。 顺便说一句:任何符合

  • 尝试跟随teamtreehouse上的课程,开发一个android天气应用程序。老师能够让应用程序在模拟器中运行并崩溃,但我的应用程序甚至不能在模拟器中运行,只会给我一堆错误。老师已经指出有一些故意的错误,稍后会改正。

  • 问题内容: 我不能用一个简单的例子再现这个错误,而且我的代码太复杂了,无法发布。如果我用而不是普通的Python来运行程序,事情会很顺利。 我查阅了以前关于这个问题的一些笔记。它们都是由使用池调用类函数中定义的函数引起的。但对我来说不是这样。 我很感激你的帮助。 更新:函数是在模块的顶层定义的。尽管它调用包含嵌套函数的函数。调用调用,)有一个嵌套函数,我正在调用。、、)都是在顶层定义的。我用这个模