我试图加入 5 个看起来有点像这样的表
发布表
身份证 | 产品 | 用户-我们| 制造ID | 经销商ID | 待定 | .... 30 其他列 ... |
做表
身份证 | 制作 |
状态表
前缀 | 状态 | 城市| 压缩
成员表
身份证 | 姓名 | 电子邮件 | 密码 | 拉链 | 经销商编号
经销商表
身份证 | 经销商名称 | 城市| 状态 | 拉链 | 地址 | 电话
MySql 查询看起来像这样
SELECT *
FROM `post` AS p
JOIN (`make` AS m, `state` AS s, `members` AS mb, `dealer` AS d)
ON (p.Make = m.id AND p.state = s.id AND p.id = mb.id AND mb.dealer-id = d.id)
WHERE p.pending != '1'
问题是这个查询只返回member.dealer-id = Dealer.id 的行,如果我使用 LEFT JOIN,它返回所有正确的行,但表中的所有列 make、state、members 和 Dealer 都将为 NULL。这不应该是因为我需要这些表格中的信息。
dealer
如果member.dealer-id > 0,我只能加入表格吗?我可以在 id 为 0 的经销商表中添加一行,但必须有更好的方法。