如何从多个表中获取结果

时间:2017-06-10 10:16:19

标签: php mysql mysqli phpmyadmin

我在数据库中有三个表incometax,servicetax和gst以及三个表中的状态字段..我想知道三个表中有多少状态待定..

<?php
    $sql ="SELECT i.status, s.status, g.status 
    FROM incometax i
    JOIN servicetax s 
    ON i.status = s.status
    JOIN gst g 
    ON s.status= g.status 
    WHERE status='Pending'";
    if ($result=mysqli_query($con,$sql))    
    {
       $rowcount=mysqli_num_rows($result);
       echo "$rowcount";
    }
?>

1 个答案:

答案 0 :(得分:0)

始终使用表别名为列名添加前缀。有三个表因此有三个别名,因此有3个具有标题状态的唯一可识别列。要找到值为pending的任何一个,你需要一个这样的where子句:

WHERE i.status = 'pending' OR s.status = 'pending' OR g.status = 'pending'

请注意,如果您需要更多条件,则可能需要括号

WHERE (i.status = 'pending' OR s.status = 'pending' OR g.status = 'pending') AND ....