我试着加入5桌,看起来有点像这个与if条件的mysql连接表?
交表
ID |产品| user-us | make-id | dealer-id |正在等待| .... 30个其他栏... |
化妆台
ID | make |
状态表
前缀|状态|城市|拉链
成员表
ID |名称|电子邮件|密码| zip |经销商-ID
经销商表
ID |经销商名称|城市|状态| zip |地址|手机
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。这不应该是因为我需要这些表中的信息。
Is there away我只能加入dealer
表如果member.dealer-id是> 0?我可以在ID 0的经销商表中添加一行,但必须有更好的方法。
只是为了更好地理解你的问题:返回没有值而不是NULL的优点是什么? – Andreas
表中'post','make','state'和'members'的信息非常重要。只有当会员是经销商时,包括经销商表格info – user2636556
所以唯一的解决方法是在经销商表格中添加id = 0的行? – user2636556