Code:
create table promjena (
idPromjene int(11) not null auto_increment,
idRobe int(11) not null default '0',
idKupca int(11) ,
Datum date,
Naziv varchar(50),
idDilera int(11),
delovodni_broj int(11) not null default '0',
PromjenaUlaz double(16,2),
PromjenaIzlaz double(16,2),
CijenaDobavljaca double(16,3),
ZavisniTroskovi double(16,2),
CijenaProdaje double(16,3),
Porez double(16,2),
Rabat double(16,2),
Ambalaza int(11),
primary key (idPromjene))
type=MyISAM;
create table roba (
idRobe int(11) not null auto_increment,
Sifra_robe bigint(11),
Naziv varchar(50),
Autor varchar(50),
Jed_Mjere varchar(50),
Poreska_Sifra double(16,2) default '0.00',
Tip_Ambalaze int(11) not null default '0',
primary key (idRobe))
type=MyISAM;
create table promjena (
idPromjene int(11) not null auto_increment,
idRobe int(11) not null default '0',
idKupca int(11) ,
Datum date,
Naziv varchar(50),
idDilera int(11),
delovodni_broj int(11) not null default '0',
PromjenaUlaz double(16,2),
PromjenaIzlaz double(16,2),
CijenaDobavljaca double(16,3),
ZavisniTroskovi double(16,2),
CijenaProdaje double(16,3),
Porez double(16,2),
Rabat double(16,2),
Ambalaza int(11),
primary key (idPromjene))
type=MyISAM;
create table roba (
idRobe int(11) not null auto_increment,
Sifra_robe bigint(11),
Naziv varchar(50),
Autor varchar(50),
Jed_Mjere varchar(50),
Poreska_Sifra double(16,2) default '0.00',
Tip_Ambalaze int(11) not null default '0',
primary key (idRobe))
type=MyISAM;
u tabeli roba postoji 700 stavki a u tabeli promjena 1500 stavki
posto mi je trabalo da bih ubrzao upit koriscenje podupita instalirao sam
MySQL 4.1 koji to podrzava, e sad:
posto sam kreirao indexe na idRobe u obje tabele u robi kao UNIQUE a u promjenama NORMAL i izvrsim sledeci upit
Code:
SELECT idrobe,naziv,sifra_robe,Autor,Jed_Mjere,Poreska_Sifra,Tip_Ambalaze,
(SELECT CijenaProdaje FROM promjena WHERE roba.idRobe=promjena.idRobe and cijenaprodaje<>0 ORDER BY datum desc,idpromjene desc limit 1) as cijenaprodaje,
(SELECT CijenaDobavljaca FROM promjena WHERE roba.idRobe=promjena.IdRobe and cijenadobavljaca<>0 ORDER BY datum desc,idpromjene desc LIMIT 1) as cijenadobavljaca,
(SELECT COALESCE(sum(promjenaulaz),0)-COALESCE(sum(promjenaizlaz),0) as Zalihe1 FROM promjena WHERE roba.idRobe=promjena.idRobe) as zalihe
From roba
order by sifra_robe
SELECT idrobe,naziv,sifra_robe,Autor,Jed_Mjere,Poreska_Sifra,Tip_Ambalaze,
(SELECT CijenaProdaje FROM promjena WHERE roba.idRobe=promjena.idRobe and cijenaprodaje<>0 ORDER BY datum desc,idpromjene desc limit 1) as cijenaprodaje,
(SELECT CijenaDobavljaca FROM promjena WHERE roba.idRobe=promjena.IdRobe and cijenadobavljaca<>0 ORDER BY datum desc,idpromjene desc LIMIT 1) as cijenadobavljaca,
(SELECT COALESCE(sum(promjenaulaz),0)-COALESCE(sum(promjenaizlaz),0) as Zalihe1 FROM promjena WHERE roba.idRobe=promjena.idRobe) as zalihe
From roba
order by sifra_robe
Puca server tako da se vise ne moze podici bez da se rucno obrisu fajlovi tj. baze sa diska.
Ima li resenje za ovo ili .....???
Edit StRiPy: Dodao sam samo code tag radi bolje preglednosti.