我試着加入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