SQL-запрос не приносит ожидаемых результатов - PullRequest
0 голосов
/ 14 марта 2019

Мне, по сути, нужно вытащить доску лидеров, если вам нравятся memberID, их имена, фамилии и их результаты, и расположить их по порядку.

Пока у меня появляются имена и фамилиии затем результаты, однако мой запрос кажется неправильным, поскольку он показывает все возможные имена со всеми возможными результатами, как показано ниже (я знаю, что мне нужно join, не знаю, как, хотя и какой):

Incorrect Results

Ниже я фактически опубликовал, как выглядят результаты в таблице:

What phpMyAdmin shows for results

Информация и таблицы, необходимые ниже:

  • tblMember содержит fldMemberID, fldFName, fldSName
  • tblMembEntComp содержит fldResult.

Пока что у меня есть это, но оно не совсем верно, как вы можете видеть на моем первом скриншоте.

<div class="grid-2"> 
    <p><b>LEADERSHIP BOARD</b></p>
    <?php
        $query = "SELECT `tblMember`.`fldFName`, `tblMember`.`fldSName`, `tblMembEntComp`.`fldResult` FROM `tblMember`, `tblMembEntComp`";

        $result = $conn -> query($query);

        while($row = $result -> fetch_assoc()) 
            {
                echo $row['fldFName']." ".$row['fldSName']." ".$row['fldResult']."<br>";
            } 
    ?>
</div>

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Используйте, например, LEFT JOIN

SELECT T1.*, T2.*
FROM tblMember T1
LEFT JOIN tblMembEntComp T2
ON T1.UniqueCommonField = T2.UniqueCommonField;
1 голос
/ 14 марта 2019

Вам необходимо указать столбцы, которые относятся к двум таблицам:

SELECT m.fldFName, m.fldSName, e.fldResult
FROM tblMember AS m
JOIN tblMembEntComp as e ON m.fldMemberID = e.fldMemberID

В противном случае вы получите полное перекрестное произведение между двумя таблицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...