0

我试图进行这样的查询:

$query= "SELECT a.virtuemart_category_id, 
   a.virtuemart_product_id, 
   b.product_name, 
   b.product_desc, 
   c.product_price, 
   d.virtuemart_media_id, 
   e.file_url 
   FROM   wgny6_virtuemart_product_categories a 
   LEFT JOIN wgny6_virtuemart_products_en_gb b 
          ON a.virtuemart_product_id = b.virtuemart_product_id 
   LEFT JOIN wgny6_virtuemart_product_prices c 
          ON b.virtuemart_product_id = c.virtuemart_product_id 
   LEFT JOIN wgny6_virtuemart_product_medias d 
          ON b.virtuemart_product_id = d.virtuemart_product_id 
   LEFT JOIN wgny6_virtuemart_medias e 
          ON d.virtuemart_media_id = e.virtuemart_media_id 
   WHERE  b.product_name IS NOT NULL";

但我希望只有当 a.virtuemart_category_id= $id 时才会发生这种情况。但我不知道如何添加该条件。

4

2 回答 2

1
SELECT ... 
FROM   ...
WHERE  b.product_name IS NOT NULL 
       AND a.virtuemart_category_id= $id // <-----------------------------------

如果您使用的是 PHP,请确保您将绑定参数与准备好的语句一起使用。

于 2013-10-07T18:59:23.740 回答
1

简单地把额外的 where 条件

 AND a.virtuemart_category_id = $id 

在您的查询结束时。

IE

SELECT a.virtuemart_category_id,a.virtuemart_product_id,b.product_name,b.product_desc, c.product_price,d.virtuemart_media_id,e.file_url 
    FROM wgny6_virtuemart_product_categories a 
      LEFT JOIN wgny6_virtuemart_products_en_gb b ON a.virtuemart_product_id=b.virtuemart_product_id 
      LEFT JOIN  wgny6_virtuemart_product_prices c ON b.virtuemart_product_id=c.virtuemart_product_id 
      LEFT JOIN wgny6_virtuemart_product_medias d ON b.virtuemart_product_id=d.virtuemart_product_id 
      LEFT JOIN wgny6_virtuemart_medias e ON d.virtuemart_media_id=e.virtuemart_media_id 
  WHERE b.product_name IS NOT NULL AND a.virtuemart_category_id = $id
于 2013-10-07T18:59:44.557 回答