MySQL LEFT JOIN无法使用多个表

卡姆兰D

我知道网络上有很多相关问题,第一个答案是GOOGLE it,我不需要第一个答案,因此感谢大家,第二个谢谢您。

我有4张桌子:

付款,InvoiceItem,用户,项目

关系:

付款.InvoiceItem_Id <-> InvoiceItem .InvoiceItemId

付款.User_Id <->用户.UserID

InvoiceItem .Item_Id <->项目.ItemsId

Payment.InvoiceItem_Id为NULLABLE,所以我的付款没有InvoiceItems

和查询是:

 
    SELECT 
        Payment.Id,
        Payment.User_Id,
        Payment.InvoiceItem_Id,
        User.Name,
        Items.Name
    FROM
        Payment
            LEFT OUTER JOIN
        InvoiceItem ON Payment.InvoiceItem_Id = InvoiceItem.InvoiceItemId
            INNER JOIN
        User ON Payment.User_Id = User.UserID
            INNER JOIN
        Items ON InvoiceItem.Items_Id = Items.ItemsId
    WHERE Payment.User_Id = 724;

如果将第三个INNER JOIN更改为LEFT OUTER,我将从付款中获得所有记录,但我不知道为什么要更改它,因为第三个INNER JOIN在InvoiceItem .Item_Id <-> Items .ItemsId和查询之间这些到表。

提前致谢。

比尔·格雷格

因为一旦您离开外部联接到发票,对发票项目执行内部联接要求所有发票项目都存在,从而有效地消除了您在发票上的左联接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL从多个表与LEFT JOIN多个

来自分类Dev

如何使用 LEFT JOIN 连接多个 mySQL 表?

来自分类Dev

LEFT JOIN表mysql,无法正确获取数据

来自分类Dev

我似乎无法使用LEFT JOIN在MySQL中合并2个表

来自分类Dev

MySQL与Left Join相反

来自分类Dev

MySQL LEFT JOIN 与 OR 条件

来自分类Dev

MySQL-如何改善使用多个LEFT JOIN的复杂查询

来自分类Dev

表的GROUP BY在使用LEFT JOIN的MySQL中返回错误计数

来自分类Dev

使用LEFT JOIN和History表的MySQL查询的正确结果

来自分类Dev

MySQL多个LEFT JOIN返回重复的行

来自分类Dev

Mysql Left join避免重复表

来自分类Dev

如何从LEFT JOIN MySQL表调用结果

来自分类Dev

MySQL使用LEFT JOIN聚合函数

来自分类Dev

使用WHERE子句的MySQL LEFT JOIN查询

来自分类Dev

使用COUNT ON LEFT JOIN进行MySQL查询

来自分类Dev

mysql pdo使用LEFT JOIN更新记录

来自分类Dev

MySQL "Left Outer Join" Issue

来自分类Dev

带有IF的MySQL LEFT JOIN

来自分类Dev

MySQL的:添加其中,在LEFT JOIN

来自分类Dev

MySQL 5.1.73 LEFT JOIN超时

来自分类Dev

MySQL可选的LEFT JOIN与MATCH

来自分类Dev

MySQL UNION ALL与LEFT JOIN

来自分类Dev

MYSQL LEFT JOIN选择增强

来自分类Dev

MYSQL中的LEFT JOIN问题

来自分类Dev

MySQL LEFT JOIN的WHERE子句

来自分类Dev

MySQL LEFT JOIN错误#1064

来自分类Dev

mySQL LEFT JOIN和COUNT表中出现的次数

来自分类Dev

mysql LEFT JOIN与其他表的条件

来自分类Dev

MySQL LEFT JOIN Count列连接3个表