【问题标题】:MySQL Show Null Results in Query - With INNER JOINMySQL 在查询中显示空结果 - 使用 INNER JOIN
【发布时间】:2011-12-22 07:30:26
【问题描述】:

我有以下疑问:

SELECT services.name as Service, services.logo_name as Logo, packages.name as Package 
FROM `client_services` 
INNER JOIN services ON service_id = services.id 
INNER JOIN packages ON packages.id = package_id 
WHERE client_id = 1 
ORDER BY services.sort_id

client_services 我有 5 个结果需要显示。其中 2 个对于 package_id 是 NULL。当我运行查询时,它只显示 3 个结果,即设置了 package_id 的结果。

如果没有包裹,我只是希望它显示为空白,但其余信息很重要,所以我仍然需要记录显示。

我是否需要更改查询中的任何内容才能使其正常工作?

谢谢!

【问题讨论】:

  • 您是否尝试过使用LEFT JOIN? LEFT JOIN packages ON packages.id = package_id
  • 这种行为对于 INNER JOIN 是正确的。您可以使用 LEFT OUTER JOIN 获得您想要的行为。

标签: mysql sql phpmyadmin inner-join


【解决方案1】:

换一行:

LEFT JOIN packages ON packages.id = package_id 

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多