PDA

Ver la Versión Completa : Select all


calakra
03/01/13, 00:10:58
Hola a todos.
Pues tengo un problemita que creo que es muy muy leve, solo que no encuentro la informacion que requiero para terminar mi programa el cual es el siguiente.

Tengo un QUERY el cual debo traerme tres campos (es un ejemplo)
centro, material y cantidad.

La bronca es que en la tabla yo tengo 5 registros y el query solo me regresa 3 ya que existen tres registros que son identicos en esos campos, lo que quiero es traerme todos los registros (centro, material y cantidad) aunque se repitan.


ejemplo
tabla
centro material cantidad
1 1 1
2 2 2
3 3 3
3 3 3
3 3 3

resultado del QUERY
centro material cantidad
1 1 1
2 2 2
3 3 3


Como ven en ese ejmplo solo me trae los registros diferentes,
Espero me puedan ayudar,

De antemano muchas gracias!!

SAPING
03/01/13, 10:08:56
Asi lo primero que se me ocurre probar es ponerle APPENDING TABLE en vez de INTO TABLE...

Es lo primero que se me ocurre....


Slds.

Mauricio Hidalgo
03/01/13, 12:06:19
Estás usando DISTINCT, FOR ALL ENTRIES?, INNER JOIN?

Saludos

calakra
03/01/13, 14:10:31
Hola a todos, gracias por contestar, el Query esta de la siguiente forma

select campo1
campo2
campo3
INTO CORRESPONDING FIELDS OF TABLE tabbla_interna
from tabla
FOR ALL ENTRIES IN tabla_interna_secundaria
where tabla_interna_secundaria-id = tabbla_interna-id

Cabe mencionar que la tabla interna secundaria si tiene los registros que necesito, el problema son los dubplicados y no ocupo una funcion como el distinct.

las columnas que quiero traerme como veran no son llaves.

Espero me puedan ayudar y gracias por su ayuda

SAPING
03/01/13, 14:21:31
Probaste con el APPENDING ??

calakra
03/01/13, 14:44:08
Probaste con el APPENDING ??
Hola!!, si ya lo hice y pasa lo mismo, sigue sin aparecerme los duplicados.

Alguna otra odea? no existe una sentencia como un
select all campo...

O algo por el estilo?

De antemano muchas gracias

Mauricio Hidalgo
03/01/13, 15:16:20
Calakra, cuando usas FOR ALL ENTRIES implícitamente se produce un borrado de las filas duplicadas que resulten de la consulta, eso está en la ayuda de la clausula FOR ALL ENTRIES.

Saludos

calakra
03/01/13, 15:17:54
Calakra, cuando usas FOR ALL ENTRIES implícitamente se produce un borrado de las filas duplicadas que resulten de la consulta, eso está en la ayuda de la clausula FOR ALL ENTRIES.

Saludos


Muchas gracias por aclararme el por que de mi error,pero no hay otra sentencia que me traiga duplicados?

de antemano muchas gracias por la ayuda

Mauricio Hidalgo
03/01/13, 15:26:31
Agrega a la estructura de destino "tabbla_interna" un campo más tal que el registro se haga único o bien

trabaja la consulta con un inner join entre ambas tablas.

o sea algo asi como:

select campo1 campo2 campo3
INTO CORRESPONDING FIELDS OF TABLE tabbla_interna
from tabla inner join tabla_interna_secundaria
on tabla~centro = tabla_interna_secundaria~centro
and tabla~material = tabla_interna_secundaria~material
where tabla~id = id