Anda di halaman 1dari 3

fechas: day(campofecha) month(campofecha) year(campofecha) datediff([d/m/yyyy], fecha inicial, fechafinal)* en lugar de fecha final se puede poner getdate() si es la de hoy

---------------------------------------------------SELECT sum(campo) as * count(campo) as * avg(campo) as * max/min(campo) as * *Si en el select hay algun otro campo, que no tenga estas condiciones, hay que a gregarlo en "group by" si queremos aadir condiciones al sum/count/... etc, por ejemplo, sumar solo los q ue superen "20" hay que ponerlo en "having" Top N -->n es un numero, el numero de datos que queremos mostrar. Hay que acompaa rlo con "order by" "nuevocampo= -->AL LORO AL CAMBIO DE LINEA CASE campoaevaluar when valor then valorde salida when .... else .... END FROM WHERE Condicion-> ejemplo preciounidad>(select max(cant) from X) el campo de fron de a qui no tiene por que ir en el from general -> si dan varios resultados aadir IN/ NOT IN ej:select gente from client es where ciudad in (select * from ciudades) * where es sinonimo de INNER JOIN. Muestran datos coincidentes. Si queremos most rar todos los del campo from y los que coincidadn de otra tabla cambiermos where por LEFT JOIN segundatabla ON y las igualaciones de campos *is null/is not null para preguntar por vacos HAVING (slo si hay que matizar algun sum(), count() etc) GROUP BY (slo si en select hay sum/count/etc y otros que no lleven eso. Aqui pone mos los que no llevan funcion) ORDER BY Asc/desc ---------------------------------INSERT INTO nombretabla VALUES (todos los campos sin excepcin) INSERT INTO nombretabla (campo1, campo3) VALUES (val1, val3) WHERE UPDATE nombretabla SET campo1=val1, Campo3=val3 WHERE

DELETE FROM nombretabla WHERE ---------------------------------IF condicion BEGIN acciones, puede ser SELECT, PRINT, UPDATE... END ELSE BEGIN acciones END --------------------------------WHILE condicion ej(select AVG(precios) from prod)>100 BEGIN acciones END ---------------------------------IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='nombre') DROP PROCEDURE nombre GO CREATE PROCEDURE nombre @VAR1 INT, @VAR2 NCHAR(5),..., @@sal1 int, @@sal2 nchar. ..OUTPUT (output solo si pone si hay parametros de salida @@) AS accion GO DECLARE @@VARIABLE1 INT ->SOLO SI QUEREMOS PARAMETROS SALIDA EXECUTE nombre, var!; var".., @@VARIABLE1 OUTPUT --> LO DEL OUTPUT SOLO SI ES P RECISO -luego usamos los parametros de salida si los hay: if @@sal1>200 begin... --------------------------------------

EJEMPLO IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='PROC01') DROP PROCEDURE PROC01 GO CREATE PROCEDURE PROC01 @COD1 NVARCHAR, @COD2 NVARCHAR, @@NUM1 INT, @@NUM2 INT O UTPUT AS SELECT @@NUM1=(SELECT UNIDADESALMACEN FROM ARTICULOS WHERE CODIGOARTICULO=@COD1) SELECT @@NUM2=(SELECT UNIDADESALMACEN FROM ARTICULOS WHERE CODIGOARTICULO=@COD2) GO DECLARE @@N1 INT, @@N2 INT EXECUTE PROC01 'TICN4005L', 'BOM1254',@@N1, @@N2 IF @@N1>@@N2

BEGIN PRINT 'HAY MAS ARTICULOS DE TIC QUE DE BOM' END ELSE BEGIN PRINT 'HAY MAS ARTICULOS DE BOM QUE DE TIC' END

Anda mungkin juga menyukai