php - 向大型 mysql 查询添加过滤器

标签 php mysql

我有一个大型查询,我只需要过滤掉 tbl_dealinterest.Active = 'n' 的任何结果。有时该表中没有该产品的条目,有时可能有条目并设置为 y。

这是一个丑陋的大查询:

SELECT tbl_product.id, tbl_productspecification.id AS specificationId,
                        tbl_product.ProductId, tbl_seller.CompanyName, tbl_product.ProductName, tbl_product.Description, mst_Categories.id AS 'Category',
                        tbl_productspecification.RetailPrice, tbl_productspecification.SalePrice,
                        tbl_product.image, tbl_productspecification.Discount, tbl_product.EndTime, tbl_product.Seller_Id, tbl_dealinterest.Active AS thumbsActive
                        FROM tbl_product
                        LEFT OUTER JOIN tbl_seller ON tbl_seller.SelId = tbl_product.Seller_Id
                        LEFT OUTER JOIN mst_Categories ON (mst_Categories.id = tbl_product.Category OR mst_Categories.id = tbl_product.SubCategory)
                        LEFT OUTER JOIN tbl_productspecification ON tbl_productspecification.ProductId = tbl_product.ProductId
                        LEFT OUTER JOIN mst_image ON mst_image.Product = tbl_product.ProductId
                        LEFT OUTER JOIN tbl_dealinterest ON tbl_dealinterest.ProductId = tbl_product.ProductId AND tbl_dealinterest.BuyerId = '$token' 
                        WHERE tbl_product.Active='y'
                        AND tbl_product.StartTime <= '".date("Y-m-d H:i:s")."'
                        AND tbl_product.EndTime > '".date("Y-m-d")." 06:00:00'
                        ".$subquery."
                        GROUP BY tbl_productspecification.ProductId";

感谢您的任何建议。

最佳答案

SELECT ...
WHERE tbl_product.Active='y'
AND (tbl_dealinterest.Active <> 'n' OR tbl_dealinterest.Active IS NULL)
...

关于php - 向大型 mysql 查询添加过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544506/

相关文章:

php - 当数据库查询返回无/空结果时,Foreach 循环中断

php - 拒绝所有用户访问 MySQL,甚至是 root

MYSQL - 设置/更新语法

php - 代码中没有足够的引号?

php - Symfony/phpUnit : functional test of a form modifying an entity

php - Lucene查询匹配多个单词,如mysql的 "LIKE %my string%"

php - 当输入包含超过 1 个项目的数组时,foreach 循环中的 MySQL 查询不返回结果

php - 数据库驱动的选择框在提交时为空

php - 页面在登录时重定向到索引

c# - 无法连接到任何指定的 MySQL 主机