2017-07-11 31 views
0

私が今行っている問題は、My MySQLテーブルにデータがある場合、データが重複してしまうことです。ただし、私のテーブルの1つが空の場合、すべてのデータを表示することはできません。データが表示されないMySql php

SELECT * 
FROM applicantpersonaldetails apd LEFT JOIN 
    employementdetails ed 
    ON apd.ApplicantID = ed.ApplicantID LEFT JOIN 
    sourceoffunds sof 
    ON apd.ApplicantID = sof.ApplicantID LEFT JOIN 
    existingbankproducts ext 
    ON apd.ApplicantID = ext.ApplicantID 
WHERE apd.AccountID ='{$accountId}' AND applicantType = 'joint1'; 

注:あなたはすべての行も非マッチングのものをしたい場合は

$stmt = $DB_con->prepare("SELECT * FROM applicantpersonaldetails apd " 
     . "JOIN employementdetails ed ON apd.ApplicantID = ed.ApplicantID " 
     . "JOIN sourceoffunds sof ON apd.ApplicantID = sof.ApplicantID " 
     . "JOIN existingbankproducts ext ON apd.ApplicantID = ext.ApplicantID " 
     . "WHERE apd.AccountID ='{$accountId}' AND applicantType ='joint1';");   

$stmt->execute(); 

if ($stmt->rowCount() > 0) { 
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
     extract($row); 

     echo $row['EmploymentStatus']; 
     ?> 
     <?php 
    } 
} else { 
    ?> 
    <div class=""> 
     <div class="alert alert-warning"> 
      <span class="glyphicon glyphicon-info-sign"></span> &nbsp; No Data Found ... 
     </div> 
    </div> 
    <?php 
} 
+0

私はあなたがジョインのタイプ、それらの違いについてはhttps://stackoverflow.com/questions/5706437/whats-the-difference-between-join-left-join-right-joinを読むべきだと思います。 - と - フル - ジョイン – o0omycomputero0o

答えて

2

使うLEFT JOIN:これは以下の私のコードです

applicantTypeから来ているテーブルは明らかではありません。 apdからのものではない場合は、WHERE節ではなく、適切なON節に含めることができます。

関連する問題