Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CREATE TABLE PRODUCTO ( ID_PRODUCTO NUMERIC, CODIGO VARCHAR2(5), NOMBRE VARCHAR2(20), STOCK NUMERIC, PU DECIMAL(18,2), CONSTRAINT PK_PEORDUCTO PRIMARY KEY (ID_PRODUCTO) );
CREATE TABLE DETALLE ( ID_FACTURA NUMERIC, ID_PRODUCTO NUMERIC, CANTIDAD INT, PU DECIMAL(18,2), CONSTRAINT PK_DETALLE PRIMARY KEY (ID_FACTURA,ID_PRODUCTO)
);
ALTER TABLE DETALLE ADD CONSTRAINT FK_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURA (ID_FACTURA) ALTER TABLE DETALLE ADD CONSTRAINT FK_ID_PRODUCTO FOREIGN KEY (ID_PRODUCTO) REFERENCES PRODUCTO (ID_PRODUCTO)
INSERT INTO FACTURA VALUES (1,'0007','01/01/2012',1) INSERT INTO FACTURA VALUES (2,'0009','10/01/2012',2) INSERT INTO FACTURA VALUES (3,'0014','11/01/2012',1) INSERT INTO FACTURA VALUES (4,'0056','13/01/2012',3)
INSERT INTO PRODUCTO VALUES (1,'PR001','ARROZ',100,0.5) INSERT INTO PRODUCTO VALUES (2,'PR002','MAIZ',150,0.75) INSERT INTO PRODUCTO VALUES (3,'PR003','MANTECA',45,0.58) INSERT INTO PRODUCTO VALUES (4,'PR004','FIDEOS',38,0.26)
INSERT INTO DETALLE VALUES (1,3,1,0.58) INSERT INTO DETALLE VALUES (1,1,2,0.5) INSERT INTO DETALLE VALUES (2,4,1,0.26) INSERT INTO DETALLE VALUES (3,1,5,0.5) INSERT INTO DETALLE VALUES (3,3,6,0.58) INSERT INTO DETALLE VALUES (3,2,3,0.75) INSERT INTO DETALLE VALUES (4,4,7,0.26) INSERT INTO DETALLE VALUES (4,3,3,0.58)
INSERT INTO DETALLE VALUES (4,2,4,0.75) --select * from cliente inner join grupo on grupo.idgrupo=cliente.idgrupo //union de tablas --select idgrupo,count(*) from cliente group by idgrupo //para agrupar sin que se repita create table Ganado ( id numeric, nombre varchar(30), id_Padre numeric, id_madre numeric ) insert into Ganado values (1,'Torivio',0,0); insert into Ganado values (2,'Lulu',0,0); insert into Ganado values (3,'Claudia',1,2); insert into Ganado values (4,'wili',1,2); insert into Ganado values (5,'lupe',1,2); insert into Ganado values (6,'juana',1,2); insert into Ganado values (7,'chana',0,5);
select nombre, (select nombre from ganado p where p.id=ganado.id_padre) as padre, select nombre,(select nombre from ganado m where m.id=ganado.id_madre) as madre from ganado
create table PcKardex ( id numeric, id_cliente numeric, debe numeric(12,2), haber numeric(12,2), id_asignado numeric )
insert into PcKardex values (1,1,100,0,0) insert into PcKardex values (2,2,200,0,0) insert into PcKardex values (3,4,200,0,0) insert into PcKardex values (4,6,300,0,0) insert into PcKardex values (5,2,400,0,0) insert into PcKardex values (6,3,600,0,0) insert into PcKardex values (7,1,400,0,0) insert into PcKardex values (8,2,600,0,0) insert into PcKardex values (9,2,0,10,8) insert into PcKardex values (10,6,0,60,4) insert into PcKardex values (11,2,0,100,2) insert into PcKardex values (12,1,0,50,1) insert into PcKardex values (13,4,0,50,3) insert into PcKardex values (14,6,0,50,4)
select id,debe-nvl((select sum(pc2.haber) from PcKardex pc2 where pc2.id_asignado=PcKardex.id),0) from PcKardex where PcKardex.id_asignado = 0 group by pck.id
--consulta ya valida para esta tabla select pck.id,sum(pck.debe)-nvl(sum(pago.haber),0) from pckardex pck left join PcKardex pago on pago.id_asignado=pck.id where pck.id_asignado = 0 group by pck.id ---- fin de la consulta valida
insert into IV_KARDEX (id_producto,debe) values (1,100) insert into IV_KARDEX (id_producto,debe) values (2,350) insert into IV_KARDEX (id_producto,debe) values (3,550)
insert into IV_KARDEX (id_producto,haber) values (1,50) insert into IV_KARDEX (id_producto,haber) values (2,20) insert into IV_KARDEX (id_producto,haber) values (2,70)
id cliente = INSERT INTO CLIENTE VALUES ( &A1& , &B1& , &C1& , &D1& , &E1& , &F1& );
Sacara los 10 ultimos registros de la base de datos sin utilizer el order by select * from cliente where rownum <= 10 --para vizualizar los 10 primeros registros select * from cliente where idcliente in (1,2,4,6,8) select * from cliente where idcliente in (select idgrupo from cliente) select * from cliente where rownum >= ((select count (*) from cliente)-10) select * from cliente where rowid IN (select max rowid from cliente)
select * from ( select * from cliente order by codigo desc )where ROWNUM >= 90;
select * from cliente where idcliente = ((select max(idcliente) from cliente) - 10)
--para hacer una paginacion select * from ( select a.*, rownum rnum from ( SELECT IDCLIENTE,NOMBRE FROM CLIENTE) a where rownum < ((2 * 10) + 1 ) )
SELECT * FROM ( SELECT A.*, ROWNUM row_number FROM ( SELECT IDCLIENTE, NOMBRE FROM CLIENTE )A WHERE ROWNUM < ((1 * 10) + 1 ) ) WHERE row_number >= ((0*10)+1)
PARA SACAR POR SEPARADO EL NOMBRE Y APELLIDO CUANDO A ESTE SE LE INGRESA EN UNA SOLA select nombre, length(nombre), substr(nombre,1,(instr(nombre, ' '))), substr(nombre,instr(nombre,' '), length(nombre))from cadenas select nombre, substr(nombre,1,instr(nombre,' ')), substr(nombre,instr(nombre,' ')+1) from cadenas select nombre, substr(nombre,1,instr(nombre,' ')), LTRIM(substr(nombre,instr(nombre,' ')+1))||5 from cadenas PARA SELECCIONRA LA PRIMERA LETRA DEL NOMBRE Y CONTAR EL NUMERO DE LETRAS DE ESE NOMBRE SELECT NOMBRE, SUBSTR (NOMBRE, 1,1) || (INSTR (NOMBRE,' ')-1)|| SUBSTR((substr(nombre,instr(nombre,' ')+1)),1,1)|| LENGTH(substr(nombre,instr(nombre,' ')+1)) FROM CADENAS