Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: m@o_614 en 30 Marzo 2014, 20:06 pm



Título: consultas
Publicado por: m@o_614 en 30 Marzo 2014, 20:06 pm
Saludos

Tengo la siguiente tabla que se llama partidas_pedidos que cuenta con los siguientes campos:

id_pedido,cliente,fecha_pedido,producto,cantidad

y luego me hace una consulta que dice :

Listar los valores de id_pedido, cliente y producto de la tabla partidas_pedidos, cuya compra se haya efectuado en un mes de abril. Suponga que el campo fecha_pedido sea de tipo char(10).

SELECT id_pedido,cliente,producto FROM partidas_pedidos WHERE fecha_pedido LIKE ‘’;

el problema es que no se que ponerle en las comillas del LIKE'', si la fecha es algo como:  2000-04-01  como ponerle que la fecha tiene que ser en el mes de abril??

y luego si tengo una tabla que se llama info_clientes con los campos: id_cliente,nombre,apellido,ciudad y estado. La consulta dice:

Desplegar la información de los clientes cuyo apellido empiece con ‘H’ y termine con ‘A’ y viva en un estado cuyo nombre lo formen 7 letras.

SELECT *FROM info_clientes
WHERE apellido LIKE ‘H%’ AND apellido LIKE ‘%A’ AND estado=’’;

pero aqui no se como verificar que el estado este conformado por solo 7 letras, tedria que usar el COUT(*)???

gracias


Título: Re: consultas
Publicado por: Carloswaldo en 31 Marzo 2014, 17:13 pm
Suponga que el campo fecha_pedido sea de tipo char(10).

¿Por qué pondrías una fecha en un campo char? ¿Para qué están luego los campos de fecha?

Citar
si la fecha es algo como:  2000-04-01  como ponerle que la fecha tiene que ser en el mes de abril??

Si ese es el formato que lleva la fecha podría hacer algo como LIKE '2000-04-__' o LIKE '____-04-__' (Insisto en que esto se debería hacer en un campo fecha)

Citar
apellido LIKE ‘H%’ AND apellido LIKE ‘%A’

Podrías ponerlo como LIKE 'H%A' ¿No?

Citar
y viva en un estado cuyo nombre lo formen 7 letras.

LIKE '_______'

Lectura recomendada: https://dev.mysql.com/doc/refman/5.0/es/string-comparison-functions.html (asumiendo que estás trabajando con MySQL)


Título: Re: consultas
Publicado por: m@o_614 en 2 Abril 2014, 03:50 am
muchas gracias Carloswaldo por tu respuesta, una ultima duda si yo tengo :

3.2 Mostrar los IDs de los clientes, sin repetirse, que en algún pedido hayan comprado más de dos ejemplares de un mismo producto (cantidad) durante 1999, utilizando subconsultas.

SELECT DISTINCT id_cliente
FROM info_clientes,partidas_pedidos
WHERE id_cliente=cliente AND cantidad > 2 AND fecha_pedido LIKE ‘1999%’;

aqui tengo que utilizar la tabla de info_clientes y la de partidas_pedidos, pero me aparece un error por donde tengo el id_cliente y no se por que? si creo que la subconsulta esta bien hecha


Título: Re: consultas
Publicado por: Carloswaldo en 2 Abril 2014, 05:43 am
¿Cuál es el error que te aparece?

No olvides especificar la tabla cada vez que nombres un campo si los estás tomando de diferentes tablas.