Ahora los niños, una pregunta a la vez!


El Perpetuo Novato de la Entrada de Registro #7.1
Este artículo apareció por primera vez en http://www.undu.com
Normalizado de datos es grande. Una instancia de cualquier persona de referencia, y nunca mantenga alrededor de los datos que pueden ser extrapoladas a partir de otros datos sobre la marcha. Magra, media y de vez en cuando un gigantesco dolor.
Un cliente me pidió una simple pregunta. Podemos ver un informe de inventario de sólo las partes que pertenecen a una materia prima de grupo que tiene más de una parte en ella? Esto permitiría una mejor visualización general de la las necesidades de materias primas a largo plazo. (Hemos Min/Max y en la Demanda automático de materia prima compra de la bandera roja de las listas ya. Querían ver la visión global de uso múltiple de la materia prima)
Simple. Voy a pedir a la base de datos de inventario para todas las partes donde la RMG (materias Primas código de Grupo) tiene más de una instancia. En la Paradoja, me gustaría hacer un CALC RECUENTO de TODAS las consultas en la RMG, a continuación, una segunda pidiendo consulta de todos los registros en la base de datos de Inventario que se encuentran en la respuesta temporal de la tabla. La paradoja sería limpiar la mesa de respuesta sobre mi ser terminado con él. Toda la codificación de ejercicio sería trivial.
Pero, ¿cómo hacerlo en el Local de SQL utilizando las mismas bases de datos de Paradox para Delphi? Una respuesta que no se HIZO el trabajo fue a hacer las mismas preguntas que el anterior, pero yo tenía que cuidar a crear la base de datos de respuesta en la vida real y, a continuación, eliminarlo después del hecho. Destructora. Además, no hay alguna forma de hacer esto en una super instrucción SQL? Algo acerca de las declaraciones anidadas?

Es una mentira de la gente. Anidado SQL no parece trabajar con SQL Local que se realiza en las tablas de Paradox. Después de un poco de cabeza-chirría, me reconoció su derrota y se dirigió a la Tamarack sitio de búsqueda (developers.href.com) y empecé a buscar. Hice dos búsquedas antes de que me encontré con la sabiduría de un Steve Koterski de Borland. Parece que él es el Local de SQL wiz. Extrapolando algunas de sus respuestas y probar un poco, he descubierto un bonito, limpio solución al problema. Y esta solución tiene otros aplicabilidad caso de continuar el uso de la Paradoja de bases de datos en sus aplicaciones.
en Primer lugar, he creado un archivo SQL llamado 'CountRMG.SQL'. Esto es el equivalente a mi primera consulta desde arriba:
/*
Alias: THEAPP
LiveAnswer: FALSE
*/
seleccione la RMG, count(RMG) como MULTI
& nbsp & nbsp de 'INVENTRM.DB'
& nbsp & nbsp GRUPO RMG
Este es un ejemplo sencillo, pero se puede hacer la suma de los totales de la misma facilidad. La idea es conseguir que algunos de los datos globales. Esto lleva a la consulta real utilizado en el código del programa:
SELECCIONE R.*
& nbsp & nbsp DE 'INVENTRM.DB' R, 'COUNTRMG.SQL' M
& nbsp & nbsp DONDE ((R. RMG=M. RMG)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp y(M. MULTI > 1))
el secreto es La vinculación de la segunda 'virtual' de la tabla a través de la guarda de código SQL. Se cargará y ejecutará y se ofrecen a sí mismo como un temporal en la memoria de la tabla de filtro INVENTRM con.
Las posibilidades de uso de este traje de anidado de SQL no son ciertamente limitados a hacer recuentos de encontrar varias instancias de un índice secundario de campo. Como se ha mencionado, usted podría hacer sumas de dinero para un rango de fecha y producir todos los elementos que entran en detalles en ese rango. Casi todos ellos se llevan a dos pasos de la consulta y a la respuesta que usted necesita.
Gary Mugford
Idea Mecánico, Bramalea EN Canadá
[email protected]









Ahora los niños, una pregunta a la vez!


Ahora los niños, una pregunta a la vez! : Multi-millones de consejos para hacer su vida mas facil.


El Perpetuo Novato de la Entrada de Registro #7.1
Este articulo aparecio por primera vez en http://www.undu.com
Normalizado de datos es grande. Una instancia de cualquier persona de referencia, y nunca mantenga alrededor de los datos que pueden ser extrapoladas a partir de otros datos sobre la marcha. Magra, media y de vez en cuando un gigantesco dolor.
Un cliente me pidio una simple pregunta. Podemos ver un informe de inventario de solo las partes que pertenecen a una materia prima de grupo que tiene mas de una parte en ella? Esto permitiria una mejor visualizacion general de la las necesidades de materias primas a largo plazo. (Hemos Min/Max y en la Demanda automatico de materia prima compra de la bandera roja de las listas ya. Querian ver la vision global de uso multiple de la materia prima)
Simple. Voy a pedir a la base de datos de inventario para todas las partes donde la RMG (materias Primas codigo de Grupo) tiene mas de una instancia. En la Paradoja, me gustaria hacer un CALC RECUENTO de TODAS las consultas en la RMG, a continuacion, una segunda pidiendo consulta de todos los registros en la base de datos de Inventario que se encuentran en la respuesta temporal de la tabla. La paradoja seria limpiar la mesa de respuesta sobre mi ser terminado con el. Toda la codificacion de ejercicio seria trivial.
Pero, ¿como hacerlo en el Local de SQL utilizando las mismas bases de datos de Paradox para Delphi? Una respuesta que no se HIZO el trabajo fue a hacer las mismas preguntas que el anterior, pero yo tenia que cuidar a crear la base de datos de respuesta en la vida real y, a continuacion, eliminarlo despues del hecho. Destructora. Ademas, no hay alguna forma de hacer esto en una super instruccion SQL? Algo acerca de las declaraciones anidadas?

Es una mentira de la gente. Anidado SQL no parece trabajar con SQL Local que se realiza en las tablas de Paradox. Despues de un poco de cabeza-chirria, me reconocio su derrota y se dirigio a la Tamarack sitio de busqueda (developers.href.com) y empece a buscar. Hice dos busquedas antes de que me encontre con la sabiduria de un Steve Koterski de Borland. Parece que el es el Local de SQL wiz. Extrapolando algunas de sus respuestas y probar un poco, he descubierto un bonito, limpio solucion al problema. Y esta solucion tiene otros aplicabilidad caso de continuar el uso de la Paradoja de bases de datos en sus aplicaciones.
en Primer lugar, he creado un archivo SQL llamado 'CountRMG.SQL'. Esto es el equivalente a mi primera consulta desde arriba:
/*
Alias: THEAPP
LiveAnswer: FALSE
*/
seleccione la RMG, count(RMG) como MULTI
& nbsp & nbsp de 'INVENTRM.DB'
& nbsp & nbsp GRUPO RMG
Este es un ejemplo sencillo, pero se puede hacer la suma de los totales de la misma facilidad. La idea es conseguir que algunos de los datos globales. Esto lleva a la consulta real utilizado en el codigo del programa:
SELECCIONE R.*
& nbsp & nbsp DE 'INVENTRM.DB' R, 'COUNTRMG.SQL' M
& nbsp & nbsp DONDE ((R. RMG=M. RMG)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp y(M. MULTI > 1))
el secreto es La vinculacion de la segunda 'virtual' de la tabla a traves de la guarda de codigo SQL. Se cargara y ejecutara y se ofrecen a si mismo como un temporal en la memoria de la tabla de filtro INVENTRM con.
Las posibilidades de uso de este traje de anidado de SQL no son ciertamente limitados a hacer recuentos de encontrar varias instancias de un indice secundario de campo. Como se ha mencionado, usted podria hacer sumas de dinero para un rango de fecha y producir todos los elementos que entran en detalles en ese rango. Casi todos ellos se llevan a dos pasos de la consulta y a la respuesta que usted necesita.
Gary Mugford
Idea Mecanico, Bramalea EN Canada
[email protected]


Ahora los niños, una pregunta a la vez!

Ahora los niños, una pregunta a la vez! : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación