Consulta

11/05/2006 - 23:09 por anonimo | Informe spam
Grupo, una pregunta, tengo una tabla estudiante y otra estudio_informatico;
necesito saber como hacer una consulta para que cuando un usuario busque a un
estudiante que haya estudiado excel en nivel basico y access en nivel
avanzado, me aparezcan.
tabla estudiante tabla estudio_informatico
codestudiante codestudiante
nombreestudiante codestudio_informatico
nivel

Arme la siguiente consulta pero no me retorna lo que deberia:
SELECT
DISTINCT(e.codestudiante) AS CODEST, nombreestudiante
FROM
estudiante e
INNER estudio_informatico ei ON ei.codestudiante=e.codestudiante
WHERE
(codestudio_informatico ='2' AND nivel= 3 ) AND ( codestudio_informatico
='5' and nivel=1)
group by e.codestudiante

En la base de datos hay un estudiante que tiene registrado esos datos pero
la consulta no me devuelve ningun valor, algun consejo?
Gracias

Preguntas similare

Leer las respuestas

#6 anonimo
12/05/2006 - 16:43 | Informe spam
ok, entendí el error, pero como podría hacer la consulta, ya que en el caso
de utilizar el OR se me devolverán los registros que cumplan una de las dos
condiciones, lo que necesito es que me devuelve el resultado del cumplimiento
de las dos condiciones.

muchas gracias.

"Jorge Gonzalez" escribió:

El SQL que posteaste nunca te va a retornar ninguna fila porque la condición
where nunca va a ser verdadera.

estás diciendo que codestudio_informatico debe ser igual a 2 y también igual
a 5 al mismo tiempo y eso no es posible.
ocurre lo mismo con nivel que debe ser igual a 3 y a 1 al mismo tiempo.

revisá bien tu consulta. Es probable que lo que querrás hacer sea un OR
entre las dos condiciones entre parentesis

algo así

SELECT...
WHERE (codestudio_informatico ='2' AND nivel= 3 ) OR (
codestudio_informatico ='5' and nivel=1)

Saludos

Jorge González


"anonimo" escribió en el mensaje
news:
> Grupo, una pregunta, tengo una tabla estudiante y otra
> estudio_informatico;
> necesito saber como hacer una consulta para que cuando un usuario busque a
> un
> estudiante que haya estudiado excel en nivel basico y access en nivel
> avanzado, me aparezcan.
> tabla estudiante tabla estudio_informatico
> codestudiante codestudiante
> nombreestudiante codestudio_informatico
> nivel
>
> Arme la siguiente consulta pero no me retorna lo que deberia:
> SELECT
> DISTINCT(e.codestudiante) AS CODEST, nombreestudiante
> FROM
> estudiante e
> INNER estudio_informatico ei ON ei.codestudiante=e.codestudiante
> WHERE
> (codestudio_informatico ='2' AND nivel= 3 ) AND ( codestudio_informatico
> ='5' and nivel=1)
> group by e.codestudiante
>
> En la base de datos hay un estudiante que tiene registrado esos datos pero
> la consulta no me devuelve ningun valor, algun consejo?
> Gracias



Respuesta Responder a este mensaje
#7 BitOne®
12/05/2006 - 22:28 | Informe spam
Esta seria la consulta... segun lo que se ha planteado.

SELECT *
FROM estudio_informatico
WHERE (codestudio_informatico in ( '2', '5') AND nivel in (3, 1) )

Saludos,

BitOne®



"anonimo" wrote in message
news:
ok, entendí el error, pero como podría hacer la consulta, ya que en el


caso
de utilizar el OR se me devolverán los registros que cumplan una de las


dos
condiciones, lo que necesito es que me devuelve el resultado del


cumplimiento
de las dos condiciones.

muchas gracias.

"Jorge Gonzalez" escribió:

> El SQL que posteaste nunca te va a retornar ninguna fila porque la


condición
> where nunca va a ser verdadera.
>
> estás diciendo que codestudio_informatico debe ser igual a 2 y también


igual
> a 5 al mismo tiempo y eso no es posible.
> ocurre lo mismo con nivel que debe ser igual a 3 y a 1 al mismo tiempo.
>
> revisá bien tu consulta. Es probable que lo que querrás hacer sea un OR
> entre las dos condiciones entre parentesis
>
> algo así
>
> SELECT...
> WHERE (codestudio_informatico ='2' AND nivel= 3 ) OR (
> codestudio_informatico ='5' and nivel=1)
>
> Saludos
>
> Jorge González
>
>
> "anonimo" escribió en el mensaje
> news:
> > Grupo, una pregunta, tengo una tabla estudiante y otra
> > estudio_informatico;
> > necesito saber como hacer una consulta para que cuando un usuario


busque a
> > un
> > estudiante que haya estudiado excel en nivel basico y access en nivel
> > avanzado, me aparezcan.
> > tabla estudiante tabla estudio_informatico
> > codestudiante codestudiante
> > nombreestudiante codestudio_informatico
> > nivel
> >
> > Arme la siguiente consulta pero no me retorna lo que deberia:
> > SELECT
> > DISTINCT(e.codestudiante) AS CODEST, nombreestudiante
> > FROM
> > estudiante e
> > INNER estudio_informatico ei ON ei.codestudiante=e.codestudiante
> > WHERE
> > (codestudio_informatico ='2' AND nivel= 3 ) AND (


codestudio_informatico
> > ='5' and nivel=1)
> > group by e.codestudiante
> >
> > En la base de datos hay un estudiante que tiene registrado esos datos


pero
> > la consulta no me devuelve ningun valor, algun consejo?
> > Gracias
>
>
>
Respuesta Responder a este mensaje
#8 Lord Rogers
19/06/2006 - 16:22 | Informe spam
SELECT *
> FROM estudio_informatico
> WHERE (codestudio_informatico = '2' AND nivel= 3 )
> OR ( codestudio_informatico = '5' and nivel=1)





Saludos,
Lord Rogers
Desde el último lugar del mundo.
"anonimo" escribió en el mensaje
news:
algún consejo de como debería de armarse la consulta?.
gracias por tu respuesta.

"Isaias" escribió:

EXACTO, el Where no se esta cumpliendo, ya que el resultado es FALSE,
porque
quires que sea codestudio_informatico 5 y 2 al mismo tiempo.
Saludos
IIslas


"anonimo" escribió:

> al ejecutar:
> SELECT *
> FROM estudio_informatico
> WHERE (codestudio_informatico = '2' AND nivel= 3 )
> AND ( codestudio_informatico = '5' and nivel=1)
>
> no me devuelve ningún registro, pero sin embargo en la tabla tengo:
>
> codestudiante codestudio_informatico nivel
> 1 2 3
> 1 5 1
>
>
> .
>
> "Isaias" escribió:
>
> > 1.- Cambia tu codigo:
> >
> > SELECT DISTINCT(e.codestudiante) AS CODEST, nombreestudiante
> > FROM estudiante e JOIN estudio_informatico ei ON
> > ei.codestudiante=e.codestudiante
> > WHERE (codestudio_informatico ='2' AND nivel= 3 ) AND (
> > codestudio_informatico
> > ='5' and nivel=1)
> > group by e.codestudiante
> >
> > ¿No?
> >
> > ¿Cuantos registros te da esta consulta
> >
> > SELECT *
> > FROM estudio_informatico
> > WHERE (codestudio_informatico = '2' AND nivel= 3 )
> > AND ( codestudio_informatico = '5' and nivel=1)
> >
> >
> > Saludos
> > IIslas
> >
> >
> > "anonimo" escribió:
> >
> > > Grupo, una pregunta, tengo una tabla estudiante y otra
> > > estudio_informatico;
> > > necesito saber como hacer una consulta para que cuando un usuario
> > > busque a un
> > > estudiante que haya estudiado excel en nivel basico y access en
> > > nivel
> > > avanzado, me aparezcan.
> > > tabla estudiante tabla estudio_informatico
> > > codestudiante codestudiante
> > > nombreestudiante codestudio_informatico
> > > nivel
> > >
> > > Arme la siguiente consulta pero no me retorna lo que deberia:
> > > SELECT
> > > DISTINCT(e.codestudiante) AS CODEST, nombreestudiante
> > > FROM
> > > estudiante e
> > > INNER estudio_informatico ei ON ei.codestudiante=e.codestudiante
> > > WHERE
> > > (codestudio_informatico ='2' AND nivel= 3 ) AND (
> > > codestudio_informatico
> > > ='5' and nivel=1)
> > > group by e.codestudiante
> > >
> > > En la base de datos hay un estudiante que tiene registrado esos
> > > datos pero
> > > la consulta no me devuelve ningun valor, algun consejo?
> > > Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida