Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Subconsultas sql

Estas en el tema de Subconsultas sql en el foro de Bases de Datos General en Foros del Web. Hola, espero que me puedan ayudar puesto que no recuerdo muy bien como se tendría que poner mi subconsulta. Tengo estas tablas: Empresa Cita: CREATE ...
  #1 (permalink)  
Antiguo 13/08/2007, 10:21
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Subconsultas sql

Hola, espero que me puedan ayudar puesto que no recuerdo muy bien como se tendría que poner mi subconsulta.

Tengo estas tablas:

Empresa

Cita:
CREATE TABLE `empresa` (
`cif_empresa` varchar(10) NOT NULL default '',
`nombre_empresa` varchar(30) NOT NULL default '',
PRIMARY KEY (`cif_empresa`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Proyecto

Cita:
CREATE TABLE `proyecto` (
`id_proyecto` int(10) NOT NULL auto_increment,
`nombre` varchar(30) NOT NULL default '',
`cif_empresa` varchar(10) NOT NULL default '',
PRIMARY KEY (`id_proyecto`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Pedido

Cita:
CREATE TABLE `pedido` (
`ident` int(10) NOT NULL auto_increment,
`id_pedido` int(10) NOT NULL default '0',
`id_proyecto` int(10) NOT NULL default '0',
PRIMARY KEY (`ident`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
Pues bien, ahora mismo tengo hecho que el usuario escoja un '$cif_empresa' y quiero que dependiendo del '$cif_empresa' se me devuelva un select con la lista de todos los id_pedido que hay.

Si en la tabla de Pedido estuviese el cif_empresa entonces sería muy fácil porque pondría:

Cita:
"select distinct id_pedido from pedido where cif_empresa='$cif_empresa' order by id_pedido asc"
Pero como podeis ver en la tabla de Pedido no esta el cif_empresa, pero si esta el id_proyecto. Así que antes debería mirar si ese id_proyecto pertenece a la empresa escogida o no.


No se si me he explicado muy bien.. pero os agradecería muchísimo que me pudieseis ayudar en esto.

Muchas gracias.
  #2 (permalink)  
Antiguo 13/08/2007, 11:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Subconsultas sql

Después de pensarlo con detenimiento he hecho esto, con lo facil que me parece ahora y antes no se me ocurría...

Cita:
"select distinct pedido.id_pedido from pedido,proyecto,empresa where empresa.cif_empresa='$colname_empresa' and proyecto.cif_empresa=empresa.cif_empresa and proyecto.id_proyecto=pedido.id_proyecto order by pedido.id_pedido asc"
  #3 (permalink)  
Antiguo 13/08/2007, 18:33
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: Subconsultas sql

persi, ¿cuántas veces tengo que perdirte por favor que NO coloques código de programación o variables de tu código???
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 14/08/2007, 06:11
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Subconsultas sql

Oye, yo me estoy haciendo un lio, que diferecia hay entre lo que yo he hecho y lo que ha hecho http://www.forosdelweb.com/showthread.php?t=510139 -->Sentencia SQL que no me sale (no me deja poner el link )?

Lo mio también es una cosulta sql ,no?

Me gustaría que me dijeras porfavor el sitio exacto donde debo poner esto porque la verdad que no me aclaro...
  #5 (permalink)  
Antiguo 14/08/2007, 08:56
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: Subconsultas sql

¿Leiste la Función de la sección de Base de Datos en su totalidad??? Ahí está bien explicado.

Código es todo aquello en lo que programas. Una variable que utilizas en tu código, no es de MySQL.

¿Vos crees que si realizas una consulta en línea de comando, MySQL va a saber que es $colname_empresa o cualquier otra variable que utilizas en tu código?

Si te pones a buscar en internet SQL estándar, vas a darte cuenta que NO se utilizan variables, solo sentencias comparándolos con valores fijos y NO variables.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #6 (permalink)  
Antiguo 14/08/2007, 20:38
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Subconsultas sql

A menos que uses un StoredProcedure mi estimado Brujo!

y vamos no seas tan duro con el pobre Persi.... seguro lo hace sin intención, solo que apenas está entendiendo muchas cosas, por eso se entra a estos foros que no?


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #7 (permalink)  
Antiguo 14/08/2007, 21:55
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Subconsultas sql

Gracias Gabo77 por la opinión, evidentemente no lo hago aposta... aunque la verdad yo me despido del foro después de este trato.

Me pueden poner otro -10 por hablar de esto en un sitio que es de Base de datos...
  #8 (permalink)  
Antiguo 14/08/2007, 23:21
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: Subconsultas sql

No creo ser tan duro ya que fue advertido 3 veces ¿Donde está la dureza de mi trato?

En la función de la sección de BD está explicado y la intensión es NO crear confusión sobre que es una sentencia PURA Y NETA DE SQL ESTANDARD y otra de programación.

Una cosa es un SELECT y otra UN PROCEDIMIENTO ALMACENADO.

Si desde la primera advertencia no comprendías, tan sencillo es enviarme un MP diciéndome tu confusión. Si ya está explicado y queres irte, pues lo siento y es tu decisión.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #9 (permalink)  
Antiguo 15/08/2007, 07:03
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Subconsultas sql

Bye mi estimado Persi! una pena su adios! y bueno, cualquier cosa por aca seguimos! :p

Mi estimado Brujo entiendo las reglas y su objetivo, pero creo que para llamar la atención sobre su mal uso, siento que a veces nos falta un poco mas de sencillez para hacer notar a otros sus errores, sin caer en el uso de Mayusculas (que es bien sabido por los foreros con experiencia que es simbolo de alzar la voz) y preguntas retoricas (que hacen sentir al que solo entro a preguntar "changos, soy un boludo!! ").... no se, es mi sentir, tampoco es mi inentención provocar una discusión, son sus reglas y así jugamos!


Buen día!

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #10 (permalink)  
Antiguo 15/08/2007, 09:08
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: Subconsultas sql

Comprendo Gabo77, si utilizara todo mi comentario en mayúscula, estaría 100% de acuerdo con tu comentario. Pero si te fijas, cuando respondo algo de sentencias SQL (como ahora, lo pongo en mayúscula). Todo lo que es propio de SQL estándard, lo pongo en mayúscula para resaltar, para diferenciar los campos (minúsculas) de la sentencia general del SQL (SELECT, WHERE, JOIN, IN, LIKE, etc).

En mi último comentario, lo que puse en mayúscula fue para puntualizar.

Puede que sea o se sienta rudo como redacto, pero si te fijas en estos mensajes:
Problema con la consulta sql
Problemas Select Min()...

Y por supuesto este, quisiera me hicieras ver en cual de ellos fuí rudo.

Bueno, persi al parecer se fué, es una lástima, pero si los que moderamos no tratamos de establecer un orden para obtener un mejor foro, esto sería un desorden.

Creo que también (no lo digo por tu persona), si tienen alguna queja sobre mi persona, pueden realizar su comentario en soporte y comentarios o donde lo consideren conveniente. Yo trato de aprender de mis errores y si lo hacen SIN OFENDER (nuevamente mayúsculas solo para acentuar este punto), te aseguro que trataré de ver en lo que tienen razón y tratar de cambiar para mejorar.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #11 (permalink)  
Antiguo 15/08/2007, 17:35
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Subconsultas sql

Y bueno, que te puedo decir, es claro que se le advirtió de buena gana, en fin, no es mi intención como te digo no es cuestionar tus métodos, solo exprese en base a esta conversación (cosa que quizas estuvo mal de mi parte) pero bueno, algunas personas les cuesta un poco de trabajo entender, no me refiero a las reglas, si no a como aplicarlas, quizas el buen Persi tenía la intención, mas no la idea de como hacerlo, para eso están las documentaciones que pediste a Persi leer pero en fin, a veces se dan casos.... ya cerremos el hilo!!


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:36.