【发布时间】: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