簡體   English   中英

在php中使用帶有多個左連接的WHERE子句

[英]Using WHERE clause with multiple left join in php

我成功地使用PHP進行了LEFT JOIN ,但是,我在添加WHERE子句時遇到了一些困難,使我能夠從找到匹配項的所有表中的所有現有詳細信息中選擇唯一記錄。

這是我的代碼:

  <?php
$sql = "SELECT staff.*, staff_bio.bio_id, staff_cert.*, staff_edu.*, staff_pos.*, staff_res.*\n"
    . " FROM staff staff\n"
    . "LEFT JOIN staff_bio \n"
    . " ON staff.nuc_id = staff_bio.bio_id\n"
    . "LEFT JOIN staff_cert\n"
    . " ON staff.nuc_id = staff_cert.pro_id\n"
    . "LEFT JOIN staff_edu\n"
    . " ON staff.nuc_id = staff_edu.edu_id\n"
    . "LEFT JOIN staff_pos\n"
    . " ON staff.nuc_id = staff_pos.rank_id\n"
    . "LEFT JOIN staff_res\n"
    . " ON staff.nuc_id = staff_res.res_id\n"
    . "WHERE staff.nuc_id = $userRow['staff_no'] ";//this is where i'm having issues
?>

我的最終輸出應該是這樣的:

<?php echo $userRow['sch_name']; ?>
<?php echo $userRow['fac_name']; ?>
<?php echo $userRow['dep_name']; ?>

一切都來自不同的表格。 任何幫助將不勝感激。

你可以這樣做:

. " WHERE staff.nuc_id = ".$userRow['staff_no'] ;//this is where i'm having issues

為什么需要連接查詢,可以像編輯一樣編寫它:

<?php 

    $sql = "SELECT staff.*, staff_bio.bio_id, staff_cert.*, staff_edu.*, staff_pos.*, staff_res.*
         FROM staff staff
        LEFT JOIN staff_bio 
         ON staff.nuc_id = staff_bio.bio_id
        LEFT JOIN staff_cert
         ON staff.nuc_id = staff_cert.pro_id
        LEFT JOIN staff_edu
         ON staff.nuc_id = staff_edu.edu_id
        LEFT JOIN staff_pos
         ON staff.nuc_id = staff_pos.rank_id
        LEFT JOIN staff_res
         ON staff.nuc_id = staff_res.res_id
        WHERE staff.nuc_id = ".$userRow['staff_no'];//this is where i'm having issues

     ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM