pregunta sobre sql "AND c.tipo IN ('T','F','N')"
tengo esta sentencia en un reporte (sql) AND c.tipo IN ('T','F','N')
como puedo poner o como seria la sentencia diferente de AND c.tipo<> ('C,'A') en la sentencia anterior se me alenta el reporte utilizazo firebird alguna sugerencia pongo todo el query SELECT o.codigo, a.existencia, a.ult_costo, a.desc_larga,sum(vd.cantidad) as cantidad, CAST(SUM(vd.cantidad*vd.precio*(1-vd.descuento/100)) AS numeric(15,4)) AS importe, CAST(SUM(vd.cantidad*a.ult_costo) AS numeric (15,4)) AS costo from ventasdet vd LEFT JOIN ventas v ON vd.venta = v.clave LEFT JOIN articulos a ON vd.articulo = a.clave LEFT JOIN comprobantes c ON c.venta = vd.venta LEFT JOIN codigos o ON (a.clave = o.articulo AND o.tipo='P') WHERE (v.fecha >= :FechaIni) AND (v.fecha <= :FechaFin) AND (o.codigo >= :CodigoIni) AND (o.codigo <= :CodigoFin) AND (v.estatus = 'A') AND c.tipo IN ('T','F','N') AND (c.estatus='A') GROUP BY o.codigo, a.existencia, a.desc_larga, a.ult_costo |
|
hola
no va entre corchetes o parentesis
|
Cita:
Saludos. |
bueno acabo de modificar el reporte y si efectivamente corre
solo que y pense qe esa era la solucion a la lentitud del reporte y no si quito esos AND correo bien el reporte pero no es el caso :( alguna sugerencia amigo)
|
Una pregunta, ¿esa sentencia genera muchos datos?.
|
si mira los sig..
T=ticket que son bastantitos en unos meses
N=notas F=facturas etc.. asique estos reportes los estoy utilizando en un minisuper imaginate arriba de 50 mil regustros en un mes y si se tarda el reporte normal C=cancelado A=activos |
ahora como puedo medir el tamano de una tabla
si puedo saber que tabla es la mas grande quizas empezar primero por filtrar los datos que me interesa por decir solo los A N T F y despues hacer una segunda consulta no se que opines pero si ¿como saber el tamaño de mis tablas independientemente?
|
1. prueba primero en hacer o poner un indice a el campo llamado tipo,
Si sigue lento cambia el in por comparaciones tipo '=' o '<>' ejemplos cambia AND c.tipo IN ('T','F','N') por AND (c.tipo = 'T' or c.tipo = 'F' or c.tipo = 'N') o filtra AND (c.tipo<> 'C' AND c.tipo<>'A') Nota... recuerda el indice |
La franja horaria es GMT +2. Ahora son las 20:14:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi