我有两个表:
表A:
id | key | price
表B:
id | key | min | max
我想要表 B 中的行,其中 min 和 max 列包含表A中的 price 列。换句话说,价格大于最小值而小于最大值
我使用了这段代码,但没有返回真实结果:
SELECT * FROM B INNER JOIN A ON A.key=B.key where A.price > B.min AND A.price < B.max;
答案 0 :(得分:1)
使用此mysql查询获取结果,并确保将price列设置为INT或FLOAT。
SELECT
table1.id,table1.key,table1.price,
table2.min,table2.max
FROM
table1
INNER JOIN
table2 ON table1.key = table2.key
AND (table1.price > table2.min
AND table1.price < table2.max);
答案 1 :(得分:0)
尝试
选择*从B左连接A到B.key = A.key,其中A.price> B.min和A.price
左联接将返回左表中的值。在这里是B
答案 2 :(得分:0)
好的,我发现了问题。
价格列的类型为Varchar。我将其更改为float,现在查询返回了真实结果。