我試圖建立一個查詢4頁不同的表:兩種方式加入MySQL的
- Users_Licences
- 許可證
- 產品
- 請求
的Users
有多個Licences
,存儲在Users_Licences
。 Products
有多個Requests
和在Request
表中您有目標許可證在Products
表中您有source_licence
。
我想列出具有指定用戶在其Users_Licences
表中具有目標許可證和源許可證(通過Products
)的所有請求。
複雜但是這是我在這一點上(不工作):
SELECT
Request.id AS offer_id, Request.product_id,
Request.licence_id AS target_licence_id,
Request.trans_price, Products.source_licence_id
FROM
Request
JOIN
Products ON Request.product_id = Products.id
JOIN
Licences ON Products.source_licence_id = Licences.id
JOIN
Licences ON Request.licence_id = Licences.id
JOIN
Users_Licences ON Licences.id = Users_Licences.licence_id
WHERE
Users_Licences.user_id = '$user_id'
GROUP BY
Request.id
ORDER BY
Request.trans_price DESC
你能幫助我嗎?如果我刪除行
JOIN Licences ON Products.source_licence_id = Licences.id
它的工作原理,但我有我的結果的一部分...謝謝!
你嘗試過'左join'? – cybertextron 2012-07-20 13:42:12