2016-09-08 2 views
-3

Я хочу, чтобы сравнить два данных и, если данные совпадают друг с другом, написать имя данныхСравните два данных - MySQL и PHP

Как можно лучше запрос?

Для примера:

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']; 
    } 
} 

С помощью этого запроса вы получите только данные, которые вы на самом деле хотите, так меньше данных перемещаются между сервер базы данных и сценарий, а также меньше кода для управления им

Смежные вопросы