![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Perdona, con las prisas me he colado
![]() es GROUP BY Y el caso es que he encontrado otro parecido en el foro y lo hago igual ![]() ![]() ![]() Gracias |
|
#2
|
||||
|
||||
|
Wop!
No estoy muy puesto en mysql, pero en SQL estandard encunetro dos errores conceptuales: -Teoricamente la subselect puede retornar más de un registro... y en updates solamente debe retornar uno. - Estás haciendo un SET de un campo y la query retorna más de uno.
__________________
E pur si muove |
|
#3
|
||||
|
||||
|
Gracias por contestar Marto
He ejecutado con MySQL Control Center (a "pelo") la query Código:
SELECT id_area, id_familia, id_subfamilia, COUNT(`id_producto`) FROM productos WHERE `id_area`='00001' and `id_familia`='00000' and `id_subfamilia`='00000' GROUP BY id_area, id_familia, id_subfamilia ![]() ¿Hay alguna forma de asignar la salida anterior a una variable y el valor se ésta usarlo para actualizar la primera tabla? En Oracle (hace unos años) hice algo parecido con CREATE VIEW, pero en el manual de mySql parece que no lo admite |
|
#4
|
||||
|
||||
|
Perdona... pero esa consulta no puede dar como resultado "4", ya que preguntas por tres campos ademas del count... y digo yo que aunque sea null, algun valor devolverán
![]()
__________________
E pur si muove |
|
#5
|
||||
|
||||
|
Prueba con esto
__________________
E pur si muove |
|
#6
|
||||
|
||||
|
LLevas razón, marto (pensaba que los campo de agrupamiento debian estar en la select)
Entonces la query que me dá 4 queda tal y como así Código:
SELECT COUNT(`id_producto`) FROM productos WHERE `id_area`='00001' and `id_familia`='00000' and `id_subfamilia`='00000' GROUP BY id_area, id_familia, id_subfamilia; |
|
#7
|
||||
|
||||
|
Sin embargo, me dice:
Cita:
Saludos |
|
#8
|
||||
|
||||
|
Te sobra el froup by.
Los campos por los que quieres agrupar ya son los que fijas en el where... por lo tanto no tiene sentido la agrupación.
__________________
E pur si muove |
|
#9
|
||||
|
||||
|
Lo probé y me sigue dando el error que me da en la mía
Cita:
Código:
SET `elementos` = (
SELECT COUNT(`id_producto`)
|
![]() |
|
|
|