Foro oficial de SQL

hola tengo una pregunta, tengo una tabla con una cantidad de valores x a los cuales les corresponde una fecha a cada uno....e intento hacer una consulta donde pueda sumar los valores correspondientes a cada mes creando las columnas correspondientes, ene, feb, mar, abr...etc...intente hacer un select que me trae inicialmente un nombre para categorizar los valores y en el segundo campo del select trate crear otro select que me sume los valores correspondientes a el mes de enero (teniendo en cuenta la fecha que esta ya en los datos....uso la clausula Between...) y hacer lo mismo para los demas meses, por ahora solo he intentado con enero pero no me sale...alguien me puede ayudar?

lo que he echo hasta ahora es algo asi mas o menos...

select nombre, (select sum(cantidad from tabla where fecha between '2012-01-01' and '2012-01-31') as Enero) from tabla order by nombre

no estoy seguro de que asi sea por eso pregunto....
 
hola tengo una pregunta, tengo una tabla con una cantidad de valores x a los cuales les corresponde una fecha a cada uno....e intento hacer una consulta donde pueda sumar los valores correspondientes a cada mes creando las columnas correspondientes, ene, feb, mar, abr...etc...intente hacer un select que me trae inicialmente un nombre para categorizar los valores y en el segundo campo del select trate crear otro select que me sume los valores correspondientes a el mes de enero (teniendo en cuenta la fecha que esta ya en los datos....uso la clausula Between...) y hacer lo mismo para los demas meses, por ahora solo he intentado con enero pero no me sale...alguien me puede ayudar?

lo que he echo hasta ahora es algo asi mas o menos...



no estoy seguro de que asi sea por eso pregunto....

Ya le habia respondido en el de C# y reporte por alla para que movieran para aca :p...

En fin, le respondo por aqui tambien....

Eso lo puede hacer con Sum() y Group by ;).

SuerteX :)
 
  • Me gusta
Reacciones: 2 personas
Buenos días, soy nuevo en este hilo, por uno de esos concursos de navidad de donde estudio informática me llego a topar con este Foro que lo necesitaba para poder salvarme del curso, espero poder aportar y que puedan ayudarme en futuros temas :p . Hay bastante por leer para no repetir temas

PD: Por cierto si pueden ayudarme dándole un like en el concurso de mi firma me vendria bien
 
Kornholio este es un ejemplo desde Oracle, no sé si te puede ayudar



SELECT COUNT (*) AS contador, EXTRACT(MONTH FROM FECHA) AS MES
FROM TABLA
WHERE FECHA BETWEEN '01/01/10' AND '31/01/10'
GROUP BY EXTRACT(MONTH FROM FECHA)
ORDER BY EXTRACT(MONTH FROM FECHA) ASC;
 
Kornholio este es un ejemplo desde Oracle, no sé si te puede ayudar



SELECT COUNT (*) AS contador, EXTRACT(MONTH FROM FECHA) AS MES
FROM TABLA
WHERE FECHA BETWEEN '01/01/10' AND '31/01/10'
GROUP BY EXTRACT(MONTH FROM FECHA)
ORDER BY EXTRACT(MONTH FROM FECHA) ASC;

hola y gracias por tu respuesta y tambien gracias ByAlan, la verdad si pude con lo del distinct y el group by, pero eran muchos selects y pues desisti de hacerlo asi porque no me parece adecuado...asi que lo realice utilizando el Month() y Year() y con eso sacaba la fechas y las cantidades que necesitaba....

PHP:
SELECT DISTINCT Cliente, SUM(Cantidad) AS Cantidad, MONTH(Fecha) AS Mes
FROM (Tabla1 T1 INNER Tabla2 T2 ON T1.Codigo=T2.Codigo) INNER JOIN Tabla3 T3 ON T1.Codigo=T3.Codigo
WHERE YEAR(Fecha)=2012
GROUP BY MONTH(Fecha), Cliente
ORDER BY MONTH(Fecha)

con eso saco una tabla de donde puedo extraer la info que necesito :)
 
Buenas Tardes, tengo un inconveniente espero me puedan colaborar, tengo una instancia con sql server 2005 en donde tengo aproximadamente 20 bases de datos, mi problema es con una base especifica ya que cuando intento expandir la carpeta de las funciones de tabla me aparece un mensaje de error que dice "" Error grave en el comando actual. Los resultados, si los hay, se deben descartar.(Microsoft SQL Server)", que podría ser este error ya que debido a esto los procedimientos almacenados que utilizan las funciones tampoco me funcionan, cabe anotar que las funciones y procedimientos de cada una de las bases de datos que tengo son los mismos, y en las demás bases de datos dentro de la misma instancia no tengo ningun problema...Muchas gracias por su colaboración
 
Buenas Tardes, tengo un inconveniente espero me puedan colaborar, tengo una instancia con sql server 2005 en donde tengo aproximadamente 20 bases de datos, mi problema es con una base especifica ya que cuando intento expandir la carpeta de las funciones de tabla me aparece un mensaje de error que dice "" Error grave en el comando actual. Los resultados, si los hay, se deben descartar.(Microsoft SQL Server)", que podría ser este error ya que debido a esto los procedimientos almacenados que utilizan las funciones tampoco me funcionan, cabe anotar que las funciones y procedimientos de cada una de las bases de datos que tengo son los mismos, y en las demás bases de datos dentro de la misma instancia no tengo ningun problema...Muchas gracias por su colaboración

Trate de instalar parches y actualizaciones para tratar de corregir ese problema!!!
 
Buenas tardes, tengo un lgero problemilla con el Crystal reports....tengo unos reportes que se generan al presionar un boton, nada complicado....el asunto esta en que cambie la direccion del servidor y ahora no se me generan los reportes, me aparece un mensaje que dice: "Este nombre de campo es desconocido" y hace referencia a nombres de campos que no los reconoce, sin embargo cuando vuelvo a conectar el antiguo servidor si los reconoce y me genera los reportes.....que podria hacer? la base de datos esta copiada toda tal cual, asi ke no es problema de la base de datos....
 
Buenas tardes, tengo un lgero problemilla con el Crystal reports....tengo unos reportes que se generan al presionar un boton, nada complicado....el asunto esta en que cambie la direccion del servidor y ahora no se me generan los reportes, me aparece un mensaje que dice: "Este nombre de campo es desconocido" y hace referencia a nombres de campos que no los reconoce, sin embargo cuando vuelvo a conectar el antiguo servidor si los reconoce y me genera los reportes.....que podria hacer? la base de datos esta copiada toda tal cual, asi ke no es problema de la base de datos....

Revise su cadena de conexion.


SuerteX :)
 
Buenos días, vengo aquí con la esperanza de encontrar una ayuda :c

Estoy creando estas tablas

CREATE TABLE TB_REGION(
ID_REGION CHAR(2) NOT NULL PRIMARY KEY ,
DESC_REGION VARCHAR(15) NOT NULL
)
GO

CREATE TABLE TB_PROVINCIA(
ID_REGION CHAR(2) NOT NULL REFERENCES TB_REGION,
ID_PROVINCIA CHAR(2) NOT NULL,-- PRIMARY KEY,
DESC_PROVINCIA VARCHAR(15) NOT NULL
PRIMARY KEY(ID_REGION,ID_PROVINCIA)
)
GO

CREATE TABLE TB_DISTRITO(
ID_REGION CHAR (2) NOT NULL,
ID_PROVINCIA CHAR(2) NOT NULL,
ID_DISTRITO CHAR(2) NOT NULL,-- PRIMARY KEY,
DESC_DISTRITO VARCHAR(2) NOT NULL,
FOREIGN KEY (ID_REGION,ID_PROVINCIA)REFERENCES TB_PROVINCIA,
PRIMARY KEY(ID_REGION,ID_PROVINCIA,ID_DISTRITO)
)
GO

Ahora el problema es cuando en otras tablas quiera llamar a la region, provincia o distrito, tendria q crear una referencia a cada tabla o solo con el ultimo? y como seria si quiero llamar solo a distrito?

asi ?

CREATE TABLE CENTROTRABAJO (
ID_EMPRESA char (5) not null REFERENCES TB_EMPRESA,
ID_CENTRO_TRAB char (5) not null,
DESC_CENTRO_TRAB varchar (20) null,
DIR_CENTRO_TRAB varchar (25) not null,
ID_REGION char (2) not null REFERENCES TB_REGION,
ID_PROVINCIA char (2) not null,
ID_DISTRITO char (2) not null,
FOREIGN KEY (ID_REGION,ID_PROVINCIA) REFERENCES TB_PROVINCIA,
FOREIGN KEY (ID_REGION,ID_PROVINCIA,ID_DISTRITO) REFERENCES TB_DISTRITO,
PRIMARY KEY (ID_EMPRESA, ID_CENTRO_TRAB )
)
GO

o solo asi :

CREATE TABLE CENTROTRABAJO2 (
ID_EMPRESA char (5) not null REFERENCES TB_EMPRESA,
ID_CENTRO_TRAB char (5) not null,
DESC_CENTRO_TRAB varchar (20) null,
DIR_CENTRO_TRAB varchar (25) not null,
ID_REGION char (2) not null,
ID_PROVINCIA char (2) not null,
ID_DISTRITO char (2) not null,
FOREIGN KEY (ID_REGION,ID_PROVINCIA,ID_DISTRITO) REFERENCES TB_DISTRITO,
PRIMARY KEY (ID_EMPRESA, ID_CENTRO_TRAB)
)
GO


Espero respuestas por favor :c
 
Buenos días, vengo aquí con la esperanza de encontrar una ayuda :c

Estoy creando estas tablas

CREATE TABLE TB_REGION(
ID_REGION CHAR(2) NOT NULL PRIMARY KEY ,
DESC_REGION VARCHAR(15) NOT NULL
)
GO

CREATE TABLE TB_PROVINCIA(
ID_REGION CHAR(2) NOT NULL REFERENCES TB_REGION,
ID_PROVINCIA CHAR(2) NOT NULL,-- PRIMARY KEY,
DESC_PROVINCIA VARCHAR(15) NOT NULL
PRIMARY KEY(ID_REGION,ID_PROVINCIA)
)
GO

CREATE TABLE TB_DISTRITO(
ID_REGION CHAR (2) NOT NULL,
ID_PROVINCIA CHAR(2) NOT NULL,
ID_DISTRITO CHAR(2) NOT NULL,-- PRIMARY KEY,
DESC_DISTRITO VARCHAR(2) NOT NULL,
FOREIGN KEY (ID_REGION,ID_PROVINCIA)REFERENCES TB_PROVINCIA,
PRIMARY KEY(ID_REGION,ID_PROVINCIA,ID_DISTRITO)
)
GO

Ahora el problema es cuando en otras tablas quiera llamar a la region, provincia o distrito, tendria q crear una referencia a cada tabla o solo con el ultimo? y como seria si quiero llamar solo a distrito?

asi ?

CREATE TABLE CENTROTRABAJO (
ID_EMPRESA char (5) not null REFERENCES TB_EMPRESA,
ID_CENTRO_TRAB char (5) not null,
DESC_CENTRO_TRAB varchar (20) null,
DIR_CENTRO_TRAB varchar (25) not null,
ID_REGION char (2) not null REFERENCES TB_REGION,
ID_PROVINCIA char (2) not null,
ID_DISTRITO char (2) not null,
FOREIGN KEY (ID_REGION,ID_PROVINCIA) REFERENCES TB_PROVINCIA,
FOREIGN KEY (ID_REGION,ID_PROVINCIA,ID_DISTRITO) REFERENCES TB_DISTRITO,
PRIMARY KEY (ID_EMPRESA, ID_CENTRO_TRAB )
)
GO

o solo asi :

CREATE TABLE CENTROTRABAJO2 (
ID_EMPRESA char (5) not null REFERENCES TB_EMPRESA,
ID_CENTRO_TRAB char (5) not null,
DESC_CENTRO_TRAB varchar (20) null,
DIR_CENTRO_TRAB varchar (25) not null,
ID_REGION char (2) not null,
ID_PROVINCIA char (2) not null,
ID_DISTRITO char (2) not null,
FOREIGN KEY (ID_REGION,ID_PROVINCIA,ID_DISTRITO) REFERENCES TB_DISTRITO,
PRIMARY KEY (ID_EMPRESA, ID_CENTRO_TRAB)
)
GO


Espero respuestas por favor :c

Para crear referencias necesita hacerlo a una columna primary key o unique, y se hace la referencia indicando la tabla y el nombre de la columna a la cual se hace referencia.


SuerteX :)
 
hola laneros me gustaria saber en donde puedo encontrar un tutorial para dar mis primeros pasos en sql y php, alguien me puede ilustrar?
 
hola laneros me gustaria saber en donde puedo encontrar un tutorial para dar mis primeros pasos en sql y php, alguien me puede ilustrar?

YO te aconsejaria que mejor aprendas Java o C# (Un lenguaje de alto nivel orientado a objetos) y luego aprendas una base de datos que valga la pena como Oracle o Microsoft SQL Server.

En MI parecer C# es el lenguaje que mas facil se aprende, el entorno de desarrollo tambien es gratis y es el mas rapido (en cuanto a la carga, intellisense, etc)
 
  • Me gusta
Reacciones: 2 personas
YO te aconsejaria que mejor aprendas Java o C# (Un lenguaje de alto nivel orientado a objetos) y luego aprendas una base de datos que valga la pena como Oracle o Microsoft SQL Server.

En MI parecer C# es el lenguaje que mas facil se aprende, el entorno de desarrollo tambien es gratis y es el mas rapido (en cuanto a la carga, intellisense, etc)

O podrías simplemente ayudar al LANero con lo que está pidiendo y no crearle una mala expectativa solo porque a vos te parece mejor otra cosa.


Al LANero que pidió la ayuda, yo le recomendaría que averiguara a fondo sobre uno de los Frameworks más populares de PHP, como CakePHP o CodeIgniter. Y si alguna otra persona conoce otros igual de fáciles también te puede colaborar.

Si quieres encontrar tutoriales que de verdad te hagan entender de qué se trata php, puedes acudir a Youtube y hacer búsquedas de "Tutorial básico php", de esa forma lo tomas como si alguien te enseñara cara a cara haciendo más ameno el proceso de aprendizaje.

Realmente haciendo una búsqueda por Google vas a encontrar lo que buscas, y la mayoría de webs te van a enseñar casi lo mismo, así que da lo mismo que te recomienden X o Y tutorial.


En cuanto a Sql, lamento informarte que MySql (el que va de la mano con php) ya está en camino a ser descontinuado, así que si es necesario que lo uses (para alguna tarea o trabajo), busca algo de información básica en Google, pero ve pensando en otros Sistemas de Bases de Datos. Ahora existen unos muy buenos como MongoDB, PostgreSQL, Mysqli.


Finalmente, no le hagas caso a los que te quieran llevar por el camino que a ellos les gusta, si debes hacer algo explícitamente en un solo lenguaje de programación, busca las herramientas más avanzadas que existan para ese lenguaje. Pero si no estás obligado a usar solo uno, entonces primero averigua por todas las opciones que haya y elige la que más se acomode a tu estilo.
 
  • Me gusta
Reacciones: sábado
O podrías simplemente ayudar al LANero con lo que está pidiendo y no crearle una mala expectativa solo porque a vos te parece mejor otra cosa.


Al LANero que pidió la ayuda, yo le recomendaría que averiguara a fondo sobre uno de los Frameworks más populares de PHP, como CakePHP o CodeIgniter. Y si alguna otra persona conoce otros igual de fáciles también te puede colaborar.

Si quieres encontrar tutoriales que de verdad te hagan entender de qué se trata php, puedes acudir a Youtube y hacer búsquedas de "Tutorial básico php", de esa forma lo tomas como si alguien te enseñara cara a cara haciendo más ameno el proceso de aprendizaje.

Realmente haciendo una búsqueda por Google vas a encontrar lo que buscas, y la mayoría de webs te van a enseñar casi lo mismo, así que da lo mismo que te recomienden X o Y tutorial.


En cuanto a Sql, lamento informarte que MySql (el que va de la mano con php) ya está en camino a ser descontinuado, así que si es necesario que lo uses (para alguna tarea o trabajo), busca algo de información básica en Google, pero ve pensando en otros Sistemas de Bases de Datos. Ahora existen unos muy buenos como MongoDB, PostgreSQL, Mysqli.


Finalmente, no le hagas caso a los que te quieran llevar por el camino que a ellos les gusta, si debes hacer algo explícitamente en un solo lenguaje de programación, busca las herramientas más avanzadas que existan para ese lenguaje. Pero si no estás obligado a usar solo uno, entonces primero averigua por todas las opciones que haya y elige la que más se acomode a tu estilo.

AAAaaaaa pero que pereza esta gente, por eso dije EN MI PARECER, YO PIENSO, calmese hermano egggg, ya uno no puede decir ni m13rda, es una opinion ademas que yo tambien programé en PHP y MySQL, yo tambien los conozco y tambien fui novato hermano eggggg ju3pu7a pa peliar estan de primeras.

Ah y lo otro, segun payscale.com los programadores PHP MySQL no se ganan NI LA MITAD del salario que se gana un programador Java o C#, con eso le digo todo.
 
AAAaaaaa pero que pereza esta gente, por eso dije EN MI PARECER, YO PIENSO, calmese hermano egggg, ya uno no puede decir ni m13rda, es una opinion ademas que yo tambien programé en PHP y MySQL, yo tambien los conozco y tambien fui novato hermano eggggg ju3pu7a pa peliar estan de primeras.

Ah y lo otro, segun payscale.com los programadores PHP MySQL no se ganan NI LA MITAD del salario que se gana un programador Java o C#, con eso le digo todo.

Calmese Hno., peleando no se resuelve nada ;).

Yo veo que el man quiere PHP+MySQL, y en internet hay montones de tutoriales.

En lo personal prefieron .NET y SQL Server, tanto por la integracion, como la documentacion que existe, asi como la facilidad de aprender el lenguaje, pero no me niego a ninguna tecnologia..... pronto comenzare a aprender HTML5+JQuery (incluido Mobile), y vere si aprendo algo de PL/SQL :).

Para el man, http://php.net/manual/es/book.mysql.php

En mi SkyDrive creo que tengo manuales, o no se si se me perdieron cuando se me daño un disco, pero de que hay mucho material para aprender en internet, hay bastante.


SuerteX :)
 
  • Me gusta
Reacciones: 2 personas
Hola amigos laneros, una consulta.
como puedo totalizar a un solo resultado la cuenta de registros de fecha de un campo. la siguiente consulta me arroja varios registro de fecha que cumplen con una condicion de fecha:
SELECT RB AS FECHA, (SELECT COUNT(SQLBACK.OS)
FROM SQLBACK
WHERE (SQLBACK.AUTO BETWEEN '21-06-2013' AND '20-07-2013')........
El resultado es algo como esto:
FECHA NUM. AU
21-06-2013 45
22-06-2013 25
23-06-2013 29
etc

lo que deseo obtener es la suma del contar todas esas fechas, que el anterior resultado sea un solo registro, un total de 99
se me ocurrio por inquieto anteponer un SUM a la instruccion pero no funciono.
SUM(SELECT COUNT(SQLBACK.OS)

Muchas gracias a todos espero me hayan comprendido lo que busco.
 
Hola amigos laneros, una consulta.
como puedo totalizar a un solo resultado la cuenta de registros de fecha de un campo. la siguiente consulta me arroja varios registro de fecha que cumplen con una condicion de fecha:
SELECT RB AS FECHA, (SELECT COUNT(SQLBACK.OS)
FROM SQLBACK
WHERE (SQLBACK.AUTO BETWEEN '21-06-2013' AND '20-07-2013')........
El resultado es algo como esto:
FECHA NUM. AU
21-06-2013 45
22-06-2013 25
23-06-2013 29
etc

lo que deseo obtener es la suma del contar todas esas fechas, que el anterior resultado sea un solo registro, un total de 99
se me ocurrio por inquieto anteponer un SUM a la instruccion pero no funciono.
SUM(SELECT COUNT(SQLBACK.OS)

Muchas gracias a todos espero me hayan comprendido lo que busco.

Ponlo al interior de una subconsulta ;)

SELECT
SUM(SUBTOTAL) AS TOTAL
FROM (
SELECT RB AS FECHA, (SELECT COUNT(SQLBACK.OS)) AS SUBTOTAL
FROM SQLBACK
WHERE (SQLBACK.AUTO BETWEEN '21-06-2013' AND '20-07-2013')
) AS subconsulta
 
Hola amigos laneros, una consulta.
como puedo totalizar a un solo resultado la cuenta de registros de fecha de un campo. la siguiente consulta me arroja varios registro de fecha que cumplen con una condicion de fecha:
SELECT RB AS FECHA, (SELECT COUNT(SQLBACK.OS)
FROM SQLBACK
WHERE (SQLBACK.AUTO BETWEEN '21-06-2013' AND '20-07-2013')........
El resultado es algo como esto:
FECHA NUM. AU
21-06-2013 45
22-06-2013 25
23-06-2013 29
etc

lo que deseo obtener es la suma del contar todas esas fechas, que el anterior resultado sea un solo registro, un total de 99
se me ocurrio por inquieto anteponer un SUM a la instruccion pero no funciono.
SUM(SELECT COUNT(SQLBACK.OS)

Muchas gracias a todos espero me hayan comprendido lo que busco.
Usa la clausula GROUP BY.


http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=43&punto=37

SuerteX :)
 
  • Me gusta
Reacciones: Likibuay
pregunta. es posible insertar un campo en la tabla que contenga el resultado de una operacion matematica?
me explico. tengo esta consulta:
Código:
Select round((A.valor_bruto_prod*B.iva_consumo)/100)  as impt_iva_consm
From public.productos INNER JOIN facturas B ON A.num_prod=B.factura_item
Where
A.fecha_prod between '2013-08-01' and '2013-08-03';
pero esto es solo el calcula mas no inserta.
se puede hacer la insercion en la primera tabla con base en lo que tengo en la variable de la segunda tabla, respetando la operacion matematica sin necesidad de crear un PLSQL?
si me hice entender? jeje

gracias
 

Los últimos temas