SQL - SubConsulta facil xq no va??

 
Vista:

SubConsulta facil xq no va??

Publicado por Maria (1 intervención) el 22/08/2006 17:29:33
resulta que quiero hacer esta consulta pero no va ni pa atras

SELECT * FROM usuarios WHERE dominio in SELECT dominio, usuario FROM usuarios WHERE usuario="ASDA"

no pilla el IN NI el eXISTS, no se como hacer esta consulta quiero q me coga todos los usuarios que tengan el mismo dominio que ASDA
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:SubConsulta facil xq no va??

Publicado por Isaías (5072 intervenciones) el 22/08/2006 17:51:06
¿Que motor de base de datos usas?
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:SubConsulta facil xq no va??

Publicado por maria (3 intervenciones) el 22/08/2006 18:11:01
es MYSQL con el phpmyadmin creo q me confundido de foro lo siento
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:SubConsulta facil xq no va??

Publicado por Franklin Gamboa (15 intervenciones) el 22/08/2006 18:13:04
No estoy muy seguro que este sea el mismo caso por que no das mucha información con respecto al error de sintaxis que recibes, pero puedes poner la subconsulta entre parentesis, ya que el in y el exists son funciones que reciben arreglos de datos, por lo que al momento en que el parser agarra la consulta y trata de formar el arreglo de datos da error de sintaxis (aunque esto tambien depende del motor de base de datos que usas, por eso digo que se requiere mas información para hacer troubleshooting).

Saludos y espero que esa información te ayude

Frank.
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:SubConsulta facil xq no va??

Publicado por maria (3 intervenciones) el 22/08/2006 18:17:01
Error

consulta SQL: Documentación

SELECT *
FROM usuarios
WHERE dominio
IN (

SELECT dominio
FROM usuarios
WHERE usuario = "ASDA"
)
LIMIT 0 , 30

MySQL ha dicho: Documentación
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT dominio FROM usuarios WHERE usuario="ASDA") LIMIT 0, 30'
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:SubConsulta facil xq no va??

Publicado por Franklin Gamboa (15 intervenciones) el 22/08/2006 18:27:36
Ahora si, que versión de mysql estas usando, por que hasta hace poco mysql no soportaba consultas anidadas, además que conocer la versión nos va a ayudar a buscar la sintaxis especifica para este motor de bases de datos.

Saludos

Frank.
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:SubConsulta facil xq no va??

Publicado por maria (3 intervenciones) el 22/08/2006 18:32:37
phpMyAdmin 2.6.2-Debian-3sarge1

MySQL 4.0.24_Debian-10sarge2-

Gracias por preocuparte.
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:SubConsulta facil xq no va??

Publicado por Phoenixin (7 intervenciones) el 22/08/2006 20:09:01
http://dev.mysql.com/downloads/mysql/4.1.html

En esa dirección bájate el último MySql, derrepente es por error de versión.
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:SubConsulta facil xq no va??

Publicado por Franklin Gamboa (15 intervenciones) el 22/08/2006 23:23:20
Puede ser por versiones, pero creo que hay una función que no estas usando correctamente, mira esto:
http://mysql.com/doc/refman/4.1/en/reserved-words.html

te recomiendo que si bajes la nueva versión, así tendrás tambien acceso a muchas de las mejoras y actualizaciones.

según la información que he visto ese error es por usar una palabra reservada de mysql de una forma inapropiada, trata de quitarle cosas pequeñas al query para ver si sale

Saludos,

Frank.
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:SubConsulta facil xq no va??

Publicado por maria (2 intervenciones) el 23/08/2006 12:36:18
no hay ninguna otra forma de hacerlo ??? sin tener que actualizar el mysql?
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:SubConsulta facil xq no va??

Publicado por csdk (4 intervenciones) el 23/08/2006 16:35:11
checalo alomejor y si va

SELECT * FROM usuarios WHERE usuario.dominio="ASDA"
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

ayuda plis "csdk"

Publicado por MARIA (2 intervenciones) el 23/08/2006 17:36:09
Te comento como va a ver si lo entiendes tengo una tabla usuarios y en la pagina web entran los administradores cada administrador tiene asignado un dominio y puede administrar todos los usuarios de ese dominio....

Entonces la consulta es que cuando entre ese usuario a traves de su nombre de usuario saque todos los usuarios que pertenezca a ese dominio por lo tanto un ejemplo

QUIERO SELECCIONAR TODOS LOS DATOS DE LOS USUARIOS QUE TENGAN EL MISMO DOMINIO QUE EL USUARIO "X"

y no consigo hacer la consulta

lo tuyo

consulta SQL: Documentación

SELECT *
FROM usuarios
WHERE usuario.dominio = "ASDA"
LIMIT 0 , 30

MySQL ha dicho: Documentación
#1109 - Unknown table 'usuario' in where clause

consulta SQL: Documentación

SELECT *
FROM usuarios
WHERE usuarios.dominio = "ASDA"
LIMIT 0 , 30

0 resultados

lo mio (he intendo de otras mas muxas formas)

SELECT *
FROM usuarios
WHERE dominio
IN (

SELECT dominio
FROM usuarios
WHERE usuario = "X"
)
LIMIT 0 , 30

MySQL ha dicho: Documentación
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT dominio FROM usuarios WHERE usuario="ASDA") LIMIT 0, 30'
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:ayuda plis

Publicado por Franklin Gamboa (15 intervenciones) el 24/08/2006 17:54:28
Podemos descomponer tu consulta en dos subconsultas, prueba cada una por separado, esto nos dirá que sigue en este caso:

SELECT *
FROM usuarios
WHERE dominio
IN("dominio1","dominio2","dominio3")
LIMIT 0 , 30

y

SELECT dominio
FROM usuarios
WHERE usuario = "X"

Si alguna de las dos falla, es un error de sintaxis SQL, si no, deberías pensar la posibilidad de actualizar el motor de base de datos a una versión mas nueva.

Yo de mysql conozco muy poco, sería bueno que corrigieras la sintaxis del IN en caso que no sea como la puse, en la mayoría de los motores es así, pero no se mysql.

Saludos

Frank.
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:ayuda plis

Publicado por MaryAmaly (1 intervención) el 05/09/2006 07:52:23
Probaste con un Join?

select u1.usuario
from usuarios u1,usuarios u2
where (u2.usuario = "X")
and (u1.dominio = u2.dominio)
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