[ bokini @ 18.09.2003. 00:55 ] @
Pozdrav, potrebna mi je pomoc oko jednog MySQL upita: Imam 3 proste tabele Prva tablela "stavke" ima polja: Id INT AUTOICREMENT datum DATE Druge 2 tabele "ulazi" i "izlazi" su iste: Id INT AUTOICREMENT stavka_id INT iznos DECIMAL(18, 2) Za svaki record unet u tabelu "stavke" ja mogu da unesem po vise stavki u "ulaze" i/ili "izlaze" i da ih povezem pomocu stavka_id polja sa stavke.id. Dakle oko unosenja podataka nema problema, ali: Kada hocu da prikazem: id, datum, zbir ulaza, zbir izlaza imam cudnih rezultata, suma u koloni za zbir ulaza se duplira !? Code: SELECT stavke.id, stavke.datum, SUM(ulazi.iznos), SUM(izlazi.iznos) FROM stavke, ulazi, izlazi WHERE stavke.id = ulazi.stavka_id AND stavke.id = izlazi.stavka_id GROUP BY (stavke.id) Da li neko moze da mi kaze gde gresim i kako to da ispravim. Ispod posta sam ubacio mysqldump izvestaj ako neko zeli da proba da izvrsi. Hvala najlepse na pomoci. Bojan Code: # MySQL-Front Dump 2.5 # # Host: localhost Database: store # -------------------------------------------------------- # Server version 4.1.0-alpha-max-nt USE store; # # Table structure for table 'izlazi' # DROP TABLE IF EXISTS `izlazi`; CREATE TABLE `izlazi` ( `id` int(10) unsigned NOT NULL auto_increment, `stavka_id` int(11) default NULL, `iznos` decimal(18,2) default NULL, `neplaceno` decimal(18,2) default NULL, `komentar` char(64) default NULL, UNIQUE KEY `id` (`id`), KEY `id_2` (`id`) ) ENGINE=MyISAM CHARSET=latin1; # # Dumping data for table 'izlazi' # INSERT INTO `izlazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("1", "1", "2.00", "4.00", ""); INSERT INTO `izlazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("2", "1", "3.00", "4.00", ""); INSERT INTO `izlazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("3", "2", NULL, NULL, ""); INSERT INTO `izlazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("4", "2", NULL, NULL, ""); # # Table structure for table 'stavke' # DROP TABLE IF EXISTS `stavke`; CREATE TABLE `stavke` ( `id` int(10) unsigned NOT NULL auto_increment, `datum` date default NULL, UNIQUE KEY `id` (`id`), KEY `id_2` (`id`) ) ENGINE=MyISAM CHARSET=latin1; # # Dumping data for table 'stavke' # INSERT INTO `stavke` (`id`, `datum`) VALUES("1", "2003-09-18"); INSERT INTO `stavke` (`id`, `datum`) VALUES("2", "2003-09-18"); # # Table structure for table 'ulazi' # DROP TABLE IF EXISTS `ulazi`; CREATE TABLE `ulazi` ( `id` int(10) unsigned NOT NULL auto_increment, `stavka_id` int(11) default NULL, `iznos` decimal(18,2) default NULL, `neplaceno` decimal(18,2) default NULL, `komentar` char(64) default NULL, UNIQUE KEY `id` (`id`), KEY `id_2` (`id`) ) ENGINE=MyISAM CHARSET=latin1; # # Dumping data for table 'ulazi' # INSERT INTO `ulazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("1", "1", "2.00", "0.00", NULL); INSERT INTO `ulazi` (`id`, `stavka_id`, `iznos`, `neplaceno`, `komentar`) VALUES("2", "2", "5.00", "0.00", ""); |