SQL查询没有带来预期的结果

时间:2019-03-13 21:03:18

标签: php sql phpmyadmin

如果您喜欢memberID,其名字,姓氏和结果,我基本上需要拉出一个领导委员会,并将它们排在首位。

到目前为止,我先出现名字和姓氏,然后显示结果,但是我的查询似乎不正确,因为它显示了所有可能的名称,所有可能的结果如下所示(我知道我需要一个join,而不是确定如何,以及哪一个):

Incorrect Results

下面,我实际上在表中发布了结果:

What phpMyAdmin shows for results

下面需要的信息和表是:

  • tblMember持有fldMemberIDfldFNamefldSName
  • 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 个答案:

答案 0 :(得分:1)

您需要指定与两个表相关的列:

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

否则,您将在两个表之间得到一个完整的叉积。

答案 1 :(得分:1)

例如使用LEFT JOIN

SELECT T1.*, T2.*
FROM tblMember T1
LEFT JOIN tblMembEntComp T2
ON T1.UniqueCommonField = T2.UniqueCommonField;