Access - consulta sql

 
Vista:

consulta sql

Publicado por aldo (15 intervenciones) el 05/07/2007 21:54:04
Hola...

tengo dos tablas donde en 1 tengo cargado todos los analisis clinicos y en la otra los codigos de analisis.
ahora bien...

hago esta consulta...

SELECT *
FROM analisis
WHERE nrodoc=21988364 And fecha=#6/10/2007#;

me da perfecto... es decir, me trae los 3 registros del documento 22222222 con fecha 01/01/2007
barbaro...!

Pero... (siempre hay un pero en esta profesion)

SELECT a.*, n.analisis
FROM Analisis AS a INNER JOIN NNLab AS n ON a.codnn=n.codnn
WHERE nrodoc=21988364 And fecha=#6/10/2007#;

me trae solo un registro...!!!!!!!!!!!!!!! por que??? si son 3...
ya no se mas que hacer!!!!!!!

seguramente, como muchas veces me ha pasado, debe ser una tremenda pavada que no se ver...

ayuda, gracias!!!!
Aldo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:consulta sql

Publicado por Rodolfo (1 intervención) el 06/07/2007 20:37:55
Lo que no queda claro es si el codnn es igual en los tres campos que vos queres que te traiga. Si no son iguales, esa es la razon ya que tenes una relacion restringida por ese campo, y solo te va a traer los registros que en codnn sean iguales sin importar la condicion que le pongas.

Saludos

Rodolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:consulta sql

Publicado por aldo (15 intervenciones) el 06/07/2007 21:34:19
Hola Rodolfo...
gracias por tu respuesta

en relacion a tu duda, es asi...
en la tabla analisis tengo los siguientes campos:

nrodoc
fecha
codnn
y otros mas que no importan para este caso...

y en la tabla nnlab los siguientes campos:

codnn
analisis
entre otros...

en la tabla analisis, el indice comprende nrodoc,fecha y codnn
porque un paciente puede tener mas de un analisis en la misma fecha y a la vez tener varios analisis en distintas fechas, por ejemplo:
"muchos a muchos"

nrodoc fecha codnn
22.222.222 10/06/2007 711
22.222.222 10/06/2007 904
22.222.222 10/06/2007 297
11.111.111 15/06/2007 362
11.111.111 15/06/2007 546
33.333.333 15/06/2007 876
22.222.222 23/06/2007 711
22.222.222 23/06/2007 192
22.222.222 23/06/2007 174
22.222.222 23/06/2007 546

y tengo la otra tabla NNLab que es donde voy a buscar el nombre del analisis:

codnn analisis
711 orina completa
902 uremia
etc...

que estoy haciendo mal??
me esta faltando alguna tabla para la relacion y la integridad referencial...?
esto tiene algo que ver???

Gracias Rodolfo nuevamente...
Saludos,
Aldo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:consulta sql

Publicado por Rodolfo (463 intervenciones) el 06/07/2007 22:03:59
Si la tabla es asi,

22.222.222 10/06/2007 711
22.222.222 10/06/2007 904
22.222.222 10/06/2007 297
es por lo que yo te dije.

Eevidentemente en la tabla donde tenes los datos del paciente, el campo que contiene los codigos, solo tiene uno de los 3 que tenes en la otra tabla. La relacion que hiciste por codigo solo te va a traer el codigo que te coincida en las dos. Ej:

TAbla1
Erramouspe rodolfo 711

Tabla2
22.222.222 10/06/2007 711
22.222.222 10/06/2007 904
22.222.222 10/06/2007 297


Aca, al relacionar por codigo, el resultado va a ser

Erramouspe rodolfo 711 22.222.222 10/06/2007 711

pongas el criterio que le pongas, ya que lo que relacionas es el codigo.

Si no estoy en lo cierto, pasame la tabla al mail que la miro

Saludos

Un abrazo.

Rodolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:consulta sql

Publicado por aldo (15 intervenciones) el 08/07/2007 15:59:12
Rodolfo...
te agradezco mucho tu predisposicion para ayudarme.

te paso el mdb para que veas las tablas en cuestion, y segun lo que vos me decis, es probable que sea asi.
pero la pregunta es la siguiente...

no tengo que poner como clave principal en la tabla analisis el nrodoc, fecha y codnn???
esto lo hice asi porque si pongo solamente el nrodoc y la fecha como clave principal, no me va a dejar cargar mas de un codnn (codigo de analisis) por nrodoc y fecha....
se entiende lo que pregunto???
llego a la conclucion de que algo estoy haciendo mal....
debo estar teniendo mal los conceptos de integracion relacional y el armado de las tablas con respecto a uno a uno, uno a muchos, muchos a muchos....
que se yo...!!!

te mando el mdb...
las tablas en cuestion son ANALISIS (donde estan los analisis cargados de los pacientes) y NNLAB (donde estan los codigos de los analisis de laboratorio)

Te agradezco ENORMEMENTE tu predisposicion para ayudarme...
un abrazo
Aldo

pd: te mando el mdb a tu mail...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar