Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Tabla

Estas en el tema de Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Tabla en el foro de Mysql en Foros del Web. Buen dia, estoy realizando una aplicación en php pero no encuentro una forma para realizar lo siguiente: Tengo un tabla con unos codigos y un ...
  #1 (permalink)  
Antiguo 24/07/2008, 11:08
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Tabla

Buen dia, estoy realizando una aplicación en php pero no encuentro una forma para realizar lo siguiente:

Tengo un tabla con unos codigos y un nombre, la idea es crear un query que me permita ver unicamente los registros donde ese codigo no este contenido en otros codigos.

Ejemplo:

Esta es la tabla con los registros, pero deseo solo mostrar aquellos codigos que no se contengan en otros registros.

1 ACTIVO
11 EFECTIVO
1105 CAJA
110501 CAJA PRINCIPAL
110501001 INGRESOS POR CONSIGNAR
110501003 CAJA LOGISTICA
110501005 CAJA ADMINISTRACION - PAGOS


Es decir mostrar solo estos

110501001 INGRESOS POR CONSIGNAR
110501003 CAJA LOGISTICA
110501005 CAJA ADMINISTRACION - PAGOS


Muchas gracias por la colaboracion, en como puedo crear un query que me filtre solo esos registros.

Saludos.
  #2 (permalink)  
Antiguo 25/07/2008, 06:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Ta

Si siempre seran los del nivel mas bajo de la piramide, es decir siempre seran los que tienen 9 digitos siguiendo el ejemplo que nos has puesto luego puedes filtrar por el tamaño del string

Select codigo, descripcion
from tabla
where LENGTH(codigo)=9;

Si no es así la cosa se complica... y casi que me plantearia o que sea así (rellenando con ceros por ejemplo) o marcar los que hay que listar en un campo aparte...

Otra solución, seria si tienes la estructura de cuentas en una tabla y los asientos en otra listar solo los que tienen asientos usando las opciones de join entre las dos tablas....

Quim
  #3 (permalink)  
Antiguo 26/07/2008, 12:59
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Ta

Cita:
Iniciado por quimfv Ver Mensaje
Si siempre seran los del nivel mas bajo de la piramide, es decir siempre seran los que tienen 9 digitos siguiendo el ejemplo que nos has puesto luego puedes filtrar por el tamaño del string

Select codigo, descripcion
from tabla
where LENGTH(codigo)=9;

Si no es así la cosa se complica... y casi que me plantearia o que sea así (rellenando con ceros por ejemplo) o marcar los que hay que listar en un campo aparte...

Otra solución, seria si tienes la estructura de cuentas en una tabla y los asientos en otra listar solo los que tienen asientos usando las opciones de join entre las dos tablas....

Quim
Hola gracias por tu respuesta....la verdad intento hacer un query que me permita comparar la cuentas entre si...algo asi.....

codigo like "codigo%"

y si pudiera contar cuantas cuentas contiene ese mismo codigo podria determinar que la que solo existen una vez son las que necesito.

Ya que el soft debe permitir varios niveles de cuentas sin importar la cantidad de digitos que tiene.

Espero alguien me pueda colaborar.


Gracias.
  #4 (permalink)  
Antiguo 28/07/2008, 08:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Ta

pipetudo,

No veo que lo que pidas sea algo fácil de conseguir con una consulta en MySQL. Yo, desde luego, no puedo ayudarte en eso. Por esa razón te recomiendo que, además de pensar en lo que te ha dicho Quimfv, busques la solución programando con PHP. Por eso he reportado a nuestro moderador el hilo. Este no es el foro para darte una solución con programación y te aconsejo que preguntes en el foro PHP. Te diré, eso sí, que por lo que se refiere a MySQL sólo tendrás que llevarte ordenados todos los números como si se tratara de una cadena de caracteres.
SELECT camponumero FROM nombretutabla ORDER BY CAST(camponumero AS CHAR)
¿Y luego qué?, dirás. Te expondré cuál es mi idea: cargar mediante PHP lo traído de la base ordenado de esa manera en un array con índice numérico y luego comparar cada dato con el anterior y siguiente (para eso el índice numérico), uno a uno; sólo cuando no esté incluido ni en el anterior ni en el siguiente, será lo que busco y entonces lo cargo en otro array... y luego mostraría lo incluido en este último array.
Si no sabes cómo hacerlo, pide ayuda en el foro PHP. Seguro que allí te ayudarán a resolver esto.
Creo que funcionará.

Última edición por jurena; 29/07/2008 a las 06:58
  #5 (permalink)  
Antiguo 28/07/2008, 09:02
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Respuesta: Crear Consulta para Filtrar Registros que no contenga un Texto ya en la Ta

Si en realidad vas a necesitar ayuda para programar en PHP, por favor lo indicas para moverlo a esa sección o abres un nuevo tema allá pero con una pregunta más puntual.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.