MySQL选择并在其中返回两个值

时间:2014-07-17 19:11:39

标签: php mysql sql

我有两个表,一个表有价格,第二个表有priceRangeId,priceRangeMin,priceRangeMax。我想要做的是拿一个priceRangeId并在我的where子句中使用priceRangeMax和PriceRangeMin之间的价格搜索第一个表,这可能吗?

继续我得到了什么:

$priceRangeId = 1;

SELECT * 
FROM `table1` 
WHERE price BETWEEN (
    SELECT * FROM `table2` 
    WHERE priceRangeId IN (" . $priceRangeId . ") 
    ORDER BY `priceRangeMin`
);

但我收到此错误:You have an error in your SQL syntax

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

SELECT * FROM `table1`
WHERE price BETWEEN
(SELECT priceRangeMin FROM `table2`
        WHERE priceRangeId='$priceRangeId') as min_price
AND (SELECT priceRangeMax FROM `table2`
        WHERE priceRangeId='$priceRangeId') as max_price

答案 1 :(得分:0)

您可以尝试这样的事情:

SELECT table1.* 
  FROM table1, table2
 WHERE table2.priceRangeId = $priceRangeId
   AND table1.price between table2.PriceRangeMin AND table2.PriceRangeMax
;