INNER JOIN mysql限制

时间:2015-04-08 11:59:53

标签: php mysql

我使用INNER JOIN基于相同的值加入3个表。我的查询如下:

    $sql="SELECT * FROM cases v INNER JOIN calculations c
            ON v.case_id = c.case_id
            INNER JOIN positions p
            ON v.case_id = p.case_id
            WHERE v.vin = :vin
            ORDER BY c.name DESC
            LIMIT 5";

但这是一个问题:

  1. 我需要总是只是最后一次计算
  2. 从位置中选择应该是同一个case_id的多个结果
  3. 我怎么试着限制它总是限制所有结果而不仅仅是它的一部分。

    PHP代码很简单,只是回显值:

     while ($row = $stmt->fetch()){                    
                        echo "<br>".$row['vin'];
                        echo "<br>".$row['case_id'];                                
                        echo "<br>".$row['claimnumber'];                    
                        echo "<br>".$row['platenumber'];                    
                        echo "<br>".$row['accident_date'];                    
                        echo "<br>".$row['mileage'];                    
                        echo "<br>".$row['model_options'];                    
                        echo "<br>".$row['laborcosts'];                    
                        echo "<br>".$row['paintmaterial'];                                      
                        echo "<br>".$row['text']; 
                        echo "<br>-----------------------";
    

    我的实际结果如下:

    ABCDEFG
    49
    09.4852DAZ
    3B6 8303
    0000-00-00 00:00:00
    0
    JASDKSD
    5810
    12151,82
    NÁRAZNÍK P V-Z
    -----------------------
    ABCDEFG
    49
    09.4852DAZ
    3B6 8303
    0000-00-00 00:00:00
    0
    JASDKSD
    5810
    12151,82
    PREDNÉ SKLO VYMENIŤ
    

    但看起来应该是这样的:

    ABCDEFG
    49
    09.4852DAZ
    3B6 8303
    0000-00-00 00:00:00
    0
    JASDKSD
    5810
    12151,82
    PREDNÉ SKLO VYMENIŤ
    NÁRAZNÍK P V-Z
    -----------------------
    

    很抱歉,如果我添加许多代码,只是想确定,这是可以理解的。 如果有人可以告诉我我做错了什么?

0 个答案:

没有答案