sql teniendo solo la primera fila registrada en la tabla y quiero que todos
Alguien ya me ayudó con esta consulta, pero hice una adaptación y tengo un problema:
SELECT
AVG(tyd.price) AS avg_price, COUNT(tyd.id_product) AS cnt,
tyd.id_marchand, tyd.id_product,
catalog.price AS c_price, tyd.price AS t_price,
tyd.amount AS t_am, pro_tyd.amount AS p_am,
pro_tyd.price AS p_price, catalog.img_src,
tyd.step, tyd.login AS tyd_l
FROM catalog
INNER JOIN tyd ON catalog.id_marchand = tyd.id_marchand
AND catalog.id_product = tyd.id_product
AND tyd.step = "1"
INNER JOIN pro_tyd ON tyd.id_marchand = pro_tyd.id_marchand
AND tyd.id_product = pro_tyd.id_product
GROUP BY
catalog.id_product, catalog.id_marchand
HAVING
tyd.login = "[email protected]"
y solo funciona cuandotyd.login = "[email protected]"
que es la identificación inferior. no funciona con user1 o user2 ... ¡No puedo entender por qué ...! También funciona si agrupo por tyd.login, pero en este caso las funciones AVG y COUNT funcionan solo en una sola línea ...
Aquí está la tabla:
id id_marchand id_product login price amount delay step time
29 1 1 [email protected] 344 1 0 1 1343297500
120 1 1 [email protected] 54 1 0 1 1343297504
109 1 1 [email protected] 34 1 0 1 1343298598
CuandoHAVING tyd.login = "[email protected]"
funciona perfectamente Cuando user1 o user2 tengo 0 líneas.
gracias por tu ayuda
Primer tema:Sql, obtenga el promedio de un grupo mientras escapa de la condición where