如何在LEFT JOIN上拥有SQL Max?

时间:2016-10-12 11:18:37

标签: php html sql

如何在给定的stall_id的LEFT JOIN上找到tenant_id的MAX值?

$sql = "SELECT * FROM stall s 
        LEFT JOIN tenant t 
        ON t.stall_id = s.stall_id
        LEFT JOIN rent r
        ON r.tenant_id = t.tenant_id AND r.rent_status = 1
        WHERE s.stall_id = 1";

2 个答案:

答案 0 :(得分:0)

你想要这样吗: -

    SELECT * FROM stall s 
    LEFT JOIN tenant t 
    ON t.stall_id = s.stall_id
    LEFT JOIN rent r
    ON r.tenant_id = t.tenant_id AND r.rent_status = 1
    WHERE s.stall_id = 1 ORDER BY r.tenant_id desc LIMIT 1

答案 1 :(得分:0)

我认为在这种情况下你不需要使用MAX(),因为rent_status字段看起来是一个布尔值(1或0)。这意味着一个简单的INNER JOIN可以解决问题。

SELECT * FROM `stall` AS s
INNER JOIN rent AS r ON r.stall_id = s.id AND r.rent_status = 1
WHERE s.stall_id = 1