繁体   English   中英

根据另一个表的值对表进行 mysql 查询

[英]Making mysql query to tables based on the values from another table

我有以下查询并且工作正常。 如果您看到查询,您会注意到有一个名为$code的变量,我曾经像这样手动设置它的值$code="1001";

function check1() { 

$code="1001";

 $getData = $this->db->query("SELECT * FROM vouchers 
 LEFT JOIN  details on vouchers.voucher_no = details.voucher_no 
LEFT JOIN   accounts on accounts.code = vouchers.account_code 
WHERE (voucher_type='1' AND t_code=$code)

 UNION ALL

SELECT * FROM vouchers 
LEFT JOIN details on vouchers.voucher_no = details.voucher_no 
LEFT JOIN   accounts on accounts.code = details.t_code 
 WHERE (voucher_type='0' AND account_code=$code)

 ");

       if($getData->num_rows() > 0)
        return $getData->result_array();
        else
        return null;
}

当我在我的视图文件中显示结果时,我使用以下脚本:

  <?php if(count($records) > 0) { ?>

  <?php $i = $this->uri->segment(3) + 0; foreach ($records as $row){ $i++; ?>

  <?php echo $row['voucher_date']; ?>  
  <?php echo $row['name']; ?> 
  <?php echo $row['amount']; ?>    <br>

<?php  } ?>

<?php } else { echo "No Record Found";} ?>

<?php 
$sum = 0;
foreach ( $records as $row ) {
 $sum += str_replace(",", "", $row['amount']);
}
?> 

  Total: <?php  echo  number_format( $sum, 2 );?>

现在我想要做的是从下面的 mysql 表中获取$code的值并获取其所有值的结果,这样当我在视图文件中显示结果时它不会显示$code="1001"的结果$code="1001"不仅适用于$code="1002"$code="1003"

为了实现我想要的,我必须更改上面的 mysql 查询。但我不知道该怎么做,请你告诉我。

提前致谢:)

表名:accounts

code   name 
1001    Cash Account
1002    Advertising Expense
1003    Accounts Receivable
SELECT * FROM vouchers 
 LEFT JOIN  details on vouchers.voucher_no = details.voucher_no 
LEFT JOIN   accounts on accounts.code = vouchers.account_code 
WHERE voucher_type='1' AND t_code IN (SELECT * FROM code_table)

 UNION ALL

SELECT * FROM vouchers 
LEFT JOIN details on vouchers.voucher_no = details.voucher_no 
LEFT JOIN   accounts on accounts.code = details.t_code 
 WHERE voucher_type='0' AND account_code IN (SELECT * FROM code_table)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM