从列值相似的两个mysql表中选择,并从上一页检索id

时间:2017-07-05 05:43:20

标签: php mysql

我有一个问题。我的英语不太好。所以我希望我解释得很好......

我有两个表,tbl_home和tbl_office,问题是

如何从2个表中创建一个select语句,这些表具有与列' case_no'相同的值。它在两个表中都被引用..

$a=$_POST['home_id']  

上面的代码是我从中获取home_id的地方, 而下面的陈述是我如何尝试根据' case_no'中的值选择两个表格。两个表。但它是基于我从表格

中检索到的变量$ a
    <?php
        $sql2 = "SELECT * FROM tbl_office WHERE case_no IN (SELECT * FROM tbl_home WHERE home_id = '$
$result2=$conn->query($sql2);

         while($row = $result2->fetch_assoc()){
         $a=$row['case_no'];
        $bc=$row['colour'];

         echo " $a <br/> ";
         echo " $bc2 <br/>";
        ?>

是上面的select语句正确??

enter image description here enter image description here

soo,我只是想让任何人看一下这个具体的陈述以及如何做到正确

  $sql2 = "SELECT * FROM tbl_office WHERE case_no IN (SELECT * FROM tbl_home WHERE home_id = '$a'";

3 个答案:

答案 0 :(得分:1)

您需要使用内部联接:

   " SELECT t_office.home_id,t_office.case_no,t_office.name FROM tbl_office
    t_office INNER JOIN tbl_home t_home ON t_office.case_no = t_home.case_no;
    where t_office.case_no ='$a'";

答案 1 :(得分:1)

你可以使用“内部联接”,例如: “SELECT t.home_id,t.case_no,t.name FROM tbl_office t INNER JOIN tbl_home h ON h.case_no = h.case_no“

答案 2 :(得分:0)

Doctor.find_by_sql(SQL)

我希望这可以正常工作,直到tbl_home中存在$ a(case_no)值,否则它不会给出任何行