PHP JOIN查询产品状态的调整,但无法解决

时间:2016-01-27 01:03:34

标签: javascript php html mysql

我的查询一切都很好,这很好,但它正在拉动所有产品的最低和最高价格,我只想提取状态为" a"

我在查询中有条件,但不要认为它是正确的。表 cscart_product_prices 没有状态 cscart_products 所以需要一些如何添加条件以仅传回状态a,以便在有意义的情况下撤回价格?< / p>

$proMaxPrice = db_get_row("select max(price) as mianprice FROM cscart_product_prices as cpp LEFT JOIN cscart_products_categories as cpc on cpc.product_id=cpp.product_id LEFT JOIN cscart_products AS cp ON cpc.product_id = cp.product_id where cpc.category_id ='".$key."' AND cp.status='A' ");
$proMinPrice = db_get_row("select min(price) as mianprice FROM cscart_product_prices as cpp LEFT JOIN cscart_products_categories as cpc on cpc.product_id=cpp.product_id LEFT JOIN cscart_products AS cp ON cpc.product_id = cp.product_id where cpc.category_id ='".$key."' AND cp.status='A' ");

它或多或少会为类别中的产品带来 min max 价格,但无论产品的状态如何,&#34; A&#34;是活跃的,&#34; D&#34;被禁用了&#34; H&#34;是隐藏的...它为所有人提供价格而且我只需要产品是&#34; A&#34;活性。

1 个答案:

答案 0 :(得分:0)

没有表定义,一些示例数据不容易弄清楚预期的查询是什么。

但是,您是否考虑过使用内部连接而不是左连接? 另外,我会像这样重写查询:

select max(price) as mianprice 
FROM cscart_product_prices as cpp 
LEFT JOIN cscart_products_categories as cpc on cpc.product_id=cpp.product_id AND 
  cpc.category_id ='".$key."'
LEFT JOIN cscart_products AS cp ON cpc.product_id = cp.product_id AND cp.status='A'