2013-01-16 150 views
-1

可能重复:
how to select count from main query into subquery如何从主查询选择结果为子查询

我想要得到的是在主查询中选择的记录数为子查询

查询我目前正试图执行的是:

SELECT 
    cat_id, 
    category_name, 
    seo_name, 
    (
     SELECT count(category_name) 
     FROM ccs_coupons 
     WHERE website_name LIKE category_name 
      OR description LIKE category_name 
      OR url_desc LIKE category_name 
    ) AnyAlias 
FROM `ccs_coupons` 
WHERE category_name like 'a%' 
GROUP BY category_name 
ORDER BY category_name ASC 
LIMIT $page,$config 
+2

你为什么要发布你刚刚问30分钟前完全相同的问题? – Taryn

回答

0

试试这个:

SELECT 
    cat_id, 
    category_name, 
    seo_name, 
    (
     SELECT COUNT(category_name) 
     FROM ccs_coupons c2 
     WHERE c2.category_name LIKE CONCAT('%', c1.category_name, '%') 
      OR c2.website_name LIKE CONCAT('%', c1.category_name, '%') 
      OR c2.description LIKE CONCAT('%', c1.category_name, '%') 
      OR c2.url_desc LIKE CONCAT('%', c1.category_name, '%') 
    ) AnyAlias 
FROM `ccs_coupons` c1 
WHERE category_name LIKE 'a%' 
GROUP BY category_name 
ORDER BY category_name ASC 
LIMIT $page,$config 
+0

您好,谢谢您的回复,但有一件事情可以使用子查询中LIKE%c1.category_name%或者LIKE %%如何使用 –

+0

@SahilAgarwal检查我更新的答案 –

+0

这真的起作用了。但这需要很长时间 –

0

你可以尝试:

SELECT 
    a.cat_id 
    ,a.category_name 
    ,a.seo_name 
    ,count(b.cat_id) as count 
FROM 
    ccs_coupons as a 
    INNER JOIN ccs_coupons as b 
    ON website_name = category_name 
     OR description = category_name 
     OR url_desc = category_name 
WHERE 
    category_name like 'a%' 
GROUP BY 
    a.cat_id 
    ,a.category_name 
    ,a.seo_name 
ORDER BY 
    category_name ASC 
LIMIT 
    $page,$config 

虽然我不是100%肯定你正在尝试做的..你可能需要之前,做一些独特的约束做计数