Hola compis.
Resulta que estoy haciendo una pequeña consulta a la bbdd de un prestashop y me ocurre un problema muy extraño.
Hago la siguiente llamada:
Código PHP:
SELECT COUNT(R.`reference`) AS valores, R.`reference` AS referencia, N.`name` AS nombre, B.`name` AS atributo, M.`customer_email` AS email
FROM ps_mailalert_customer_oos M
LEFT JOIN ps_product R ON M.id_product = R.id_product
LEFT JOIN ps_product_lang N ON R.id_product = N.id_product
LEFT JOIN ps_product_attribute_combination A ON M.id_product_attribute = A.id_product_attribute
LEFT JOIN ps_attribute_lang B ON A.id_attribute = B.id_attribute
GROUP BY referencia, atributo
Y me devuelve
Código:
+----------+------------+----------+----------+--------------------+
| valores | referencia | nombre | atributo | email |
+----------+------------+----------+----------+--------------------+
| 3 | 100146 | Una cosa | NULL | [email protected] |
| 6 | 100268 | Otra | NULL | [email protected] |
| 6 | 105998 | Otra mas | NULL | [email protected] |
+----------+------------+----------+----------+--------------------+
Ahora bien.
La tabla ps_mailalert_customer_oos contiene unicamente los ids del producto (no la referencia) y el email.
con los siguientes valores.
y la de ps_product tiene esto:
Código:
+------------+-----------+
| id_product | reference |
+------------+-----------+
| 660 | 105998 |
| 663 | 100146 |
| 685 | 100268 |
+------------+-----------+
Lo que intento hacer es que me diga cuantas veces esta repetida la referencia.
Siempre me devuelve el 3 ese. Si lo divido entre 3 va todo guay, pero lo pruebo en otra tienda y en la otra sale un 6 por defecto, asique no se por donde esta el problem.
Mi idea es que devuelva lo siguiente (eliminando la columna de email).
Código:
+---------+------------+----------+----------+
| valores | referencia | nombre | atributo |
+---------+------------+----------+----------+
| 1 | 100146 | Una cosa | NULL |
| 2 | 100146 | Otra | NULL |
| 2 | 100146 | Otra mas | NULL |
+---------+------------+----------+----------+
Alguna idea de por donde esta el problema??
Muchas gracias.