Наверное ты хотел сказать
SELECT *, (SELECT COUNT(p1.param_id) FROM p p1 WHERE p1.product_id = p.product_id) as c FROM p GROUP BY product_id HAVING c = 2
_____________
Gear Framework
Gear Framework на Github
SELECT *, (SELECT COUNT(p1.param_id) FROM p p1 WHERE p1.product_id = p.product_id) as c FROM p GROUP BY product_id HAVING c = 2
Цитата |
Every derived table must have its own alias |
SELECT t.* FROM (SELECT * FROM products WHERE param_id=3 OR param_id=7) t GROUP BY t.product_id HAVING COUNT(t.product_id)>1
Цитата |
Наверное ты хотел сказать |
Цитата |
по идее должно работать |
Цитата |
А может такое быть, что param1 и param2 будут не только у 123, но и например у 345? |
mysql_query('SELECT id, product_id, (SELECT COUNT(t.param_id) FROM tabel t WHERE t.product_id = table.product_id) as count_params FROM table ' .
'WHERE param_id IN (param1, param2) ' .
'GROUP BY product_id ' .
'HAVING count_params = ' . $count_params);
HAVING COUNT(t.product_id)>1
HAVING COUNT(t.product_id)>4
SELECT
id,
product_id,
(
SELECT
COUNT(t.param_id)
FROM
products t
WHERE
t.product_id = products.product_id
) as count_params
FROM
products
WHERE
param_id IN (13, 3, 5, 7, 1)
GROUP BY
product_id
HAVING
count_params=5
'HAVING count_params >= ' . $count_params);
SELECT t.* FROM (SELECT * FROM products WHERE param_id=param1 OR param_id=param2) t GROUP BY t.product_id HAVING COUNT(t.product_id)>=".$count_params