2016-09-08 15 views
-3

私は2つのデータを比較したいのですが、データが同じであれば、データの名前を書きます。2つのデータを比較する -

どのようにクエリを改善できますか?

例の場合

ExampleTable1 * ID = 5 -- 
           | (5=5) ---> "Hello This Five" (vtname) 
ExampleTable2 * BEID = 5 -- 

SQL:このクエリでは

$sql1 = "SELECT * FROM ExampleTable1 WHERE paid= ".$paidsi; 
$result1 = mysqli_query($conn, $sql1); 
if (mysqli_num_rows($result1) > 0) { 
    while($row1 = mysqli_fetch_assoc($result1)) { 
     $sql2 = "SELECT * FROM ExampleTable2"; 
     $result2 = $conn->query($sql2); 
      if ($result2->num_rows > 0) { 
       while($row2 = $result2->fetch_assoc()) { 
        if ($row2["id"] == $row1["beid"]) { 
         echo $row2["vtname"]; 
        } else { 
        echo ""; 
        } 
       } 
      } else { 
       echo "0 results"; 
      } 
    } 
} else { 
    echo "0 results"; 
} 

答えて

1

使用left join

$sql1 = "SELECT * FROM ExampleTable1 E1 
      LEFT JOIN ExampleTable2 E2 ON E1.id = E2.beid"; 

$result1 = mysqli_query($conn, $sql1); 

if (mysqli_num_rows($result1) > 0) { 
    while($row1 = mysqli_fetch_assoc($result1)) { 
     echo $row1['vtname']; 
    } 
} 

少ないデータが間を移動するので、あなただけの、あなたが実際に必要なデータを取得しますデータベースサーバーとスクリプト、それを操作するためのコードが少ない

関連する問題