入力に応じてmysqlの結果を検索する検索機能があります。where
ここで、別のテーブルからの結果に対するlikesのcount()を句に含めたいと思いました。
このシナリオのように。I want to search "Dog" where count(like_id) >= 1.
私が含めたいいいねテーブルは次のとおりTABLE_GLOBAL_LIKES
です。
の構造は次のとおりです。フィールドTABLE_GLOBAL_LIKES
:like_id
、、、、。user_id
products_id
blog_id
両方TABLE_GLOBAL_PRODUCTS
であり、とに関連付ける TABLE_GLOBAL_LIKES
共通のフィールドがあります。products_id
blog_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
私はmysqlクエリの初心者です。助けてください。