嗨大家好我有关于如何在SQL上创建if else语句的问题, 它只在模态上显示rent.rent_status = 1的值,但如果rent.rent_status没有值,则模态不会显示,我该如何显示? 这是我的代码供您参考;
$sql = "SELECT * FROM stall
LEFT JOIN tenant ON tenant.stall_id = stall.stall_id
LEFT JOIN rent ON rent.tenant_id = tenant.tenant_id
WHERE rent.rent_status = 1 AND stall.stall_id = 1";
答案 0 :(得分:0)
您正在使用width: 100%
,然后在LEFT JOIN
子句中撤消外部联接。您需要将条件移动到适当的WHERE
子句:
ON
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;
保留第一个表中的所有行以及第二个表中的匹配行。如果没有匹配项,则第二个表中的列的值为LEFT JOIN
。 NULL
条件导致WHERE
条件失败。
答案 1 :(得分:0)
也许尝试使用与此类似的代码包装您的输出
while (mysqli_stmt_fetch($stmt)) {
if(mysqli_stmt_num_rows($stmt) > 0){'output goes here'}
}
我不确定你是如何使用你的php的,这只是为了让你有一个成长的想法。
答案 2 :(得分:0)
You don't need to use if..else just use or operator....
SELECT * FROM stall
LEFT JOIN tenant ON tenant.stall_id = stall.stall_id
LEFT JOIN rent ON rent.tenant_id = tenant.tenant_id
WHERE ((rent.rent_status = 1) OR (rent.rent_status IS NULL)) AND stall.stall_id = 1"