Check this fiddle for DB and tables左連接三個表與子查詢
SELECT p.*
FROM Products p
LEFT JOIN offertran ot
ON p.prod_id = ot.prod_id
LEFT JOIN Offers o
ON ot.offer_id = (SELECT id FROM Offers
Where dF<=3 AND dt>=3)
ORDER BY o.id DESC,
p.prod_id ASC
LIMIT 20
輸出爲:
| PROD_ID | CATEGORY_ID | PROD_NAME | BRAND | PRICE | STATUS |
---------------------------------------------------------------
| p3 | c1 | prod3 | brand3 | 3000 | active |
| p3 | c1 | prod3 | brand3 | 3000 | active |
| p1 | c1 | prod1 | brand1 | 1000 | active |
| p2 | c2 | prod2 | brand2 | 2000 | active |
| p4 | c2 | prod4 | brand1 | 4000 | active |
| p5 | c1 | prod5 | brand2 | 5000 | active |
| p6 | c2 | prod6 | brand3 | 6000 | active |
但是,在這裏你可以看到p3
顯示兩次。我不知道爲什麼.. 我曾嘗試所有可能的方式,但我不能找到任何補救.. :(
我有P3亞當只有一個記錄。感謝您的回覆 – Anusha