为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 PHP 中使用 INNSER JOIN 和 BETWEEN

如何在 PHP 中使用 INNSER JOIN 和 BETWEEN

PHP
牧羊人nacy 2023-05-12 15:23:03
  $sql =  "SELECT * FROM crm_vendas WHERE venda_id BETWEEN '$value1' and '$value2'";我创建这个项目是为了在有限的表中使用值 1 和 2 之间的搜索,但是有必要使用两个表的连接,所以我使用了:$sql =  "SELECT * FROM crm_vendas INNER JOIN crm_vendas_detail ON crm_vendas.venda_id = crm_vendas_detail.venda_id";但我不能使用 between 来过滤/缩小搜索范围有没有办法加入中间和内部联接?
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

这里的主要问题是这两个表之间的关系是什么:

  • 如果每个 crm_vendas 记录在 crm_vendas_detail 表中至少有一条(或多条)记录,那么您可以按原样使用内部联接并将条件添加到末尾:

    $sql =  "SELECT * FROM crm_vendas INNER JOIN crm_vendas_detail ON crm_vendas.venda_id = crm_vendas_detail.venda_id WHERE crm_vendas.venda_id BETWEEN '$value1' and '$value2'";
  • 如果 crm_vendas 表中的记录可能不存在于 crm_vendas_detail 表中,您将需要使用左连接:

    $sql =  "SELECT * FROM crm_vendas LEFT JOIN crm_vendas_detail ON crm_vendas.venda_id = crm_vendas_detail.venda_id WHERE crm_vendas.venda_id BETWEEN '$value1' and '$value2'";


查看完整回答
反对 回复 2023-05-12
?
跃然一笑

TA贡献1826条经验 获得超6个赞

由于您在两个表上定义了 venda_id,因此您必须使用 table.column 指定列。


$sql="

SELECT 

     * 

FROM 

     crm_vendas 

INNER JOIN crm_vendas_detail ON crm_vendas.venda_id = crm_vendas_detail.venda_id"


WHERE 

     crm_vendas.venda_id BETWEEN '$value1' and '$value2'";

;


查看完整回答
反对 回复 2023-05-12
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信