SQL - Consulta SQL

 
Vista:

Consulta SQL

Publicado por Fernando (2 intervenciones) el 03/05/2017 14:21:19
Como hago lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE IF NOT EXISTS `clientes` (
  `idcliente` INT(10) NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(50) NOT NULL,
  `apellido` VARCHAR(50) NOT NULL,
  `domicilio` VARCHAR(50) NOT NULL,
  `telefono` VARCHAR(50) DEFAULT NULL,
  `movil` VARCHAR(50) DEFAULT NULL,
  `dni` VARCHAR(10) NOT NULL,
  `familiar` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`idcliente`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
 
CREATE TABLE IF NOT EXISTS `compras` (
  `idcompra` INT(7) NOT NULL AUTO_INCREMENT,
  `idcliente` INT(7) NOT NULL,
  `observacion` text NOT NULL,
  `fecha_ingreso` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`idcompra`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

idcompra-idcliente
1 - 1
2 - 3
3 - 5
4 - 0
...
idcliente-nombre-apelllido
1-pepe
2-juan
3-carlos
4-maria
5-oscar

Quiero hacer un SELECT * from compras que me devuelva esto
idcompra-nombre
1-pepe
2-carlos
3-oscar
4-ninguno

Esa consulta me puedes hacer porfa? ya estuve investigando el JOIN
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
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta SQL

Publicado por leonardo_josue (1173 intervenciones) el 03/05/2017 15:52:21
Hola Fernando:

1
ya estuve investigando el JOIN

¿entonces dónde está el problema? lo que quieres hacer es un simple JOIN entre las dos tablas... y más específico, un LEFT o un RIGTH JOIN dado que por los datos que pones puede haber id_clientes que no existan en tu tabla...

Postea lo que intentaste hacer, no importa si está mal o no funciona, si te marca algún error dinos qué error es, si no obtienes el resultado esperado, dinos qué es lo que estás obteniendo y qué es lo que deberías obtener.

Saludos
Leo.
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

Consulta SQL

Publicado por Fernando (2 intervenciones) el 03/05/2017 18:46:53
Me ayudaron con la consulta SQL en foros del web y no es nada facil, por lo menos esta mas alla de mis conocimientos. Además tengo que seguir agregándole cosas a esa consulta por eso es medio complicada. La dejo aca por si le sirve a alguien:


1
2
3
4
5
6
select compras.idcompra,
case
     when clientes.idcliente is null
                then 'Ninguno'
                else CONCAT(clientes.nombre, ',', clientes.apellido)
     end as nombre from compras LEFT JOIN clientes  on (compras.idcliente=clientes.idcliente)

En ninguno yo dejo un espacio vacio porque es una venta directa y no es al "fiado", en el sistema que hago funciona asi.
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