如何在 PHP 中使用 INNSER JOIN 和 BETWEEN

  $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 来过滤/缩小搜索范围

有没有办法加入中间和内部联接?


牧羊人nacy
浏览 136回答 2
2回答

FFIVE

这里的主要问题是这两个表之间的关系是什么:如果每个 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'";

跃然一笑

由于您在两个表上定义了 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'";;
打开App,查看更多内容
随时随地看视频慕课网APP