$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'";
跃然一笑
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'";
;
- 2 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消