![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 15.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem ze zrobieniem takie kalkulatora dla kilku faktur i wpłat.Może ktoś przerabiał coś podobnego i trochę mi pomoże. Mam 2 tabele: CREATE TABLE `naleznosci` ( `id` int(6) NOT NULL, `faktura` varchar(255) default NULL, `kwota` float(9,2) default '0.00', `termin` date default NULL, `idd` int(5) NOT NULL auto_increment, PRIMARY KEY (`idd`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=cp1250; INSERT INTO `naleznosci` VALUES ('1', 'xxxx', '10.00', '2015-06-08', '1'); INSERT INTO `naleznosci` VALUES ('1', 'yyyy', '5.00', '2015-11-18', '2'); INSERT INTO `naleznosci` VALUES ('1', 'zzzz', '5.00', '2005-10-01', '3'); i CREATE TABLE `wplaty` ( `id` int(11) NOT NULL auto_increment, `naleznosci_id` int(11) NOT NULL, `kwota` float(10,2) default NULL, `data_wplaty` date default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=cp1250; INSERT INTO `wplaty` VALUES ('1', '1', '50.00', '2015-11-16'); INSERT INTO `wplaty` VALUES ('2', '1', '4.00', '2006-07-14'); Problem polega na tym że z tych 2 muszę uzyskać trzecią tabele w której będa pola: naleznosci.id,naleznosci.faktura,naleznosci.kwota,naleznosci.termin,wplaty.kwota ,wplaty.data_wplaty ale z pewnymi warunkami (wpłaty nie są na faktury, trzeba je zaliczać na najstarszą): - jeśli kwota wpłaty jest równa kwocie faktury to wszystko mamy w jednym wierszu - jeśli kwota jest większa od faktury do wypełniamy ją do wysokości faktury a resztę przenosimy na drugą fakturę (do kolejnego wiersza) - kolejną wpłatę (w trzecim wierszu) wpisujemy na tą fakturę która jeszcze nie jest dopełniona (oczywiście umniejszoną o resztę wcześniejszej wpłaty) itd. Jest to dość skomplikowana operacja i nie bardzo mogę sobie z nią poradzić. Próbowałem coś na kursorach ale poległem Może ktoś coś pomoże. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:57 |