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

#1 Isaias
11/05/2006 - 23:55 | Informe spam
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
Respuesta Responder a este mensaje
#2 anonimo
12/05/2006 - 00:18 | Informe spam
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
Respuesta Responder a este mensaje
#3 Isaias
12/05/2006 - 01:44 | Informe spam
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
Respuesta Responder a este mensaje
#4 Jorge Gonzalez
12/05/2006 - 02:08 | Informe spam
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
#5 anonimo
12/05/2006 - 16:43 | Informe spam
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
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida