Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mala Consulta (https://www.clubdelphi.com/foros/showthread.php?t=93056)

sac 02-05-2018 20:48:06

Mala Consulta
 
Disculpen si no es el lugar correcto dentro del foro.
Tengo un problema con la consulta SQL

A modo de ejemplo tengo una base de datos (QueEspecie) con dos columnas Id_EspecieAnimal y EspecieAnimal con 7 registros digamos.
La otra BD (TodasLasEntradas) con: IdDeTodosLosRegistros, id_Especie, SubEspecie.

En mi consulta quiero ver IdDeTodosLosRegistros, EspecieAnimal y SubEspecie Mi consulta es la siguiente:

Código SQL [-]
Select A.IdDeTodosLosRegistros, B.EspecieAnimal, A.SubEspecie
From  TodasLasEntradas A, QueEspecie B
where (A.id_Especie = B.Id_EspecieAnimal)
order by A.IdDeTodosLosRegistros desc

El problema que tengo es que con esta consulta a partir del 9no. registro id_especie e id_EspecieAnimal son iguales y cuando consulto en una grilla lista los registros del 1 al 8.

Que estoy haciendo mal?

Casimiro Notevi 02-05-2018 20:51:49

Por favor, no olvides poner títulos descriptivos a tus preguntas, gracias. Ya he modificado la de tu pregunta anterior "diferencias" dice poco y ahora "mala consulta" dice menos.

Casimiro Notevi 02-05-2018 20:53:42

Cita:

Empezado por sac (Mensaje 525995)
Disculpen si no es el lugar correcto dentro del foro.
Tengo un problema con la consulta SQL
A modo de ejemplo tengo una base de datos (QueEspecie) con dos columnas Id_EspecieAnimal y EspecieAnimal con 7 registros digamos.
La otra BD (TodasLasEntradas) con: IdDeTodosLosRegistros, id_Especie, SubEspecie.
En mi consulta quiero ver IdDeTodosLosRegistros, EspecieAnimal y SubEspecie Mi consulta es la siguiente:El problema que tengo es que con esta consulta a partir del 9no. registro id_especie e id_EspecieAnimal son iguales y cuando consulto en una grilla lista los registros del 1 al 8.
Que estoy haciendo mal?

Quedaría más claro si dijeras qué campos tiene cada tabla y qué relación tiene entre ellos.
Saludos.

duilioisola 03-05-2018 08:52:20

También deberías clarificar esto
Cita:

El problema que tengo es que con esta consulta a partir del 9no. registro id_especie e id_EspecieAnimal son iguales y cuando consulto en una grilla lista los registros del 1 al 8.
No veo ninguna coma o punto...
Parece que hay más de 9 registros y los últimos coinciden en los campo id_especie...

Te sugiero utilizar JOINS que suelen leerse más facil.

Opción 1: Todos los registros de TODASLASENTRADAS que contengan ID_ESPECIA en QUEESPECIE
Código SQL [-]
SELECT A.IDDETODOSLOSREGISTROS, B.ESPECIEANIMAL, A.SUBESPECIE
FROM TODASLASENTRADAS A
JOIN QUEESPECIE B ON (A.ID_ESPECIE = B.ID_ESPECIEANIMAL)
ORDER BY A.IDDETODOSLOSREGISTROS DESC

Opció 2: Todos los registros de TODASLASENTRADAS aunque no contengan ID_ESPECIA en QUEESPECIE
Código SQL [-]
SELECT A.IDDETODOSLOSREGISTROS, B.ESPECIEANIMAL, A.SUBESPECIE
FROM TODASLASENTRADAS A
LEFT JOIN QUEESPECIE B ON (A.ID_ESPECIE = B.ID_ESPECIEANIMAL)
ORDER BY A.IDDETODOSLOSREGISTROS DESC

gatosoft 03-05-2018 15:25:56

Pues no se si sea un problema real, o asi es como debe ser. La consulta está bien, el tema es lo que almacenas en la tabla de subespecies

Es decir, si tu tabla de especies es:

1-especie1
2-especie2
3-especie3

Y en la de subespecies:

1 (especie1) - 1 (Subespecie1)
1 (especie1) - 2 (Subespecie2)
1 (especie1) - 3 (Subespecie3)
1 (especie1) - 4 (Subespecie3)
2 (especie2) - 1 (Subespecie1)
2 (especie2) - 2 (Subespecie2)
2 (especie2) - 3 (Subespecie3)
2 (especie2) - 4 (Subespecie3)


pues en tu consulta es lógico que se repita el valor de especie.

duda: ¿que papel tiene el campo IdDeTodosLosRegistros?

Para poder ayudarte mejor muéstranos la estructura de las dos tablas y puede ser una foto de los datos (un selec a cada tabla)

sac 15-05-2018 20:22:33

ahora si gracias.
 
Mil perdones por la demora en responder no tube oportunidad antes.
pero duilioisola gracias por tu respuesta. Me sirvió muchisimo.


La franja horaria es GMT +2. Ahora son las 17:27:49.

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