$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 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消