Sql 来自不同表的where子句上的count()
我有一个搜索功能,可以根据mysql的输入搜索结果。现在我想在Sql 来自不同表的where子句上的count(),sql,Sql,我有一个搜索功能,可以根据mysql的输入搜索结果。现在我想在where子句中包含来自不同表的结果的count()likes 像这样的场景我想搜索count(比如id)>=1的“Dog”。 我想包括的Likes表是:Table\u GLOBAL\u Likes 表\u GLOBAL\u LIKES的结构是: 字段:如用户id,用户id,产品id,博客id TABLE\u GLOBAL\u PRODUCTS和TABLE\u GLOBAL\u LIKES都有一个公共字段PRODUCTS\u id和b
where
子句中包含来自不同表的结果的count()likes
像这样的场景<代码>我想搜索count(比如id)>=1的“Dog”。
我想包括的Likes表是:Table\u GLOBAL\u Likes
表\u GLOBAL\u LIKES
的结构是:
字段:如用户id
,用户id
,产品id
,博客id
TABLE\u GLOBAL\u PRODUCTS
和TABLE\u GLOBAL\u LIKES
都有一个公共字段PRODUCTS\u id
和blog\u id
这是我希望包含Likes表的工作查询
SELECT SQL_CALC_FOUND_ROWS p.*,
CASE
WHEN p.specials_new_products_price > 0.0000
AND (p.expires_date > Now()
OR p.expires_date IS NULL
OR p.expires_date ='0000-00-00 00:00:00')
AND p.status != 0 THEN p.specials_new_products_price
ELSE p.products_price
END price
FROM ".TABLE_GLOBAL_PRODUCTS." p
INNER JOIN ".TABLE_STORES." s ON s.blog_id = p.blog_id
WHERE MATCH (p.products_name,
p.products_description) AGAINST ('*".$search_key."*')
AND p.display_product = '1'
AND p.products_status = '1' HAVING price <= ".$priceto_key."
AND price >= ".$pricefrom_key."
ORDER BY p.products_date_added DESC, p.products_name
SELECT SQL\u CALC\u FOUND\u ROWS p.*,
案例
当p.specials\u new\u products\u price>0.0000时
和(p.expires\u date>Now()
或p.U日期为空
或p.expires_date='0000-00-00:00:00')
和p.status!=0然后p.特价商品\新产品\价格
其他产品价格
最终价格
来自“.TABLE\u GLOBAL\u PRODUCTS.”p
s.blog\u id=p.blog\u id上的内部联接“.TABLE\u STORES.”
其中匹配(p.products\u name,
p、 (“*”$search\u key.“*”)中的产品描述)
和p.display_product='1'
p.products_status='1'具有price=“.pricefrom_key.”
按p.products\u date\u添加描述、p.products\u名称订购
我是mysql查询的新手。。请帮助。试试这个:
SELECT SQL_CALC_FOUND_ROWS p.*, COUNT(l.like_id)
CASE
WHEN p.specials_new_products_price > 0.0000
AND (p.expires_date > Now()
OR p.expires_date IS NULL
OR p.expires_date ='0000-00-00 00:00:00')
AND p.status != 0 THEN p.specials_new_products_price
ELSE p.products_price
END price
FROM ".TABLE_GLOBAL_PRODUCTS." p
INNER JOIN ".TABLE_STORES." s ON s.blog_id = p.blog_id
INNER JOIN ".TABLE_GLOBAL_LIKES." l ON l.blog_id = p.blog_id AND l.products_id = p.products_id
WHERE MATCH (p.products_name,
p.products_description) AGAINST ('*".$search_key."*')
AND p.display_product = '1'
AND p.products_status = '1' HAVING price <= ".$priceto_key."
AND price >= ".$pricefrom_key."
GROUP BY p.products_id
HAVING COUNT(l.like_id)>0
ORDER BY p.products_date_added DESC, p.products_name
SELECT SQL\u CALC\u FOUND\u ROWS p.*,COUNT(l.like\u id)
案例
当p.specials\u new\u products\u price>0.0000时
和(p.expires\u date>Now()
或p.U日期为空
或p.expires_date='0000-00-00:00:00')
和p.status!=0然后p.特价商品\新产品\价格
其他产品价格
最终价格
来自“.TABLE\u GLOBAL\u PRODUCTS.”p
s.blog\u id=p.blog\u id上的内部联接“.TABLE\u STORES.”
内部连接“.TABLE\u GLOBAL\u LIKES.”l ON l.blog\u id=p.blog\u id和l.products\u id=p.products\u id
其中匹配(p.products\u name,
p、 (“*”$search\u key.“*”)中的产品描述)
和p.display_product='1'
p.products_status='1'具有price=“.pricefrom_key.”
按产品编号分组
计数(l.like_id)>0
按p.products\u date\u添加描述、p.products\u名称订购
试试这个:
SELECT SQL_CALC_FOUND_ROWS p.*, COUNT(l.like_id)
CASE
WHEN p.specials_new_products_price > 0.0000
AND (p.expires_date > Now()
OR p.expires_date IS NULL
OR p.expires_date ='0000-00-00 00:00:00')
AND p.status != 0 THEN p.specials_new_products_price
ELSE p.products_price
END price
FROM ".TABLE_GLOBAL_PRODUCTS." p
INNER JOIN ".TABLE_STORES." s ON s.blog_id = p.blog_id
INNER JOIN ".TABLE_GLOBAL_LIKES." l ON l.blog_id = p.blog_id AND l.products_id = p.products_id
WHERE MATCH (p.products_name,
p.products_description) AGAINST ('*".$search_key."*')
AND p.display_product = '1'
AND p.products_status = '1' HAVING price <= ".$priceto_key."
AND price >= ".$pricefrom_key."
GROUP BY p.products_id
HAVING COUNT(l.like_id)>0
ORDER BY p.products_date_added DESC, p.products_name
SELECT SQL\u CALC\u FOUND\u ROWS p.*,COUNT(l.like\u id)
案例
当p.specials\u new\u products\u price>0.0000时
和(p.expires\u date>Now()
或p.U日期为空
或p.expires_date='0000-00-00:00:00')
和p.status!=0然后p.特价商品\新产品\价格
其他产品价格
最终价格
来自“.TABLE\u GLOBAL\u PRODUCTS.”p
s.blog\u id=p.blog\u id上的内部联接“.TABLE\u STORES.”
内部连接“.TABLE\u GLOBAL\u LIKES.”l ON l.blog\u id=p.blog\u id和l.products\u id=p.products\u id
其中匹配(p.products\u name,
p、 (“*”$search\u key.“*”)中的产品描述)
和p.display_product='1'
p.products_status='1'具有price=“.pricefrom_key.”
按产品编号分组
计数(l.like_id)>0
按p.products\u date\u添加描述、p.products\u名称订购
警告您的代码可能容易受到sql注入攻击!警告:您的代码可能容易受到sql注入攻击!