Mam tabelę ro_zobowiazania o strukturze:
CREATE TABLE `ro_zobowiazania` ( `id` int(10) NOT NULL AUTO_INCREMENT, `id_kontrahenta` int(4) NOT NULL, `numer_dokumentu` varchar(20) NOT NULL, `data_wystawienia` date NOT NULL, `data_sprzedazy` date NOT NULL, `kwota_brutto` float NOT NULL, `vat` int(3) NOT NULL, `kwota_netto` float NOT NULL, `data_platnosci` date NOT NULL, `forma_platnosci` smallint(2) NOT NULL, `zaplacono_dnia` date NOT NULL, `gdzie` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
oraz tabelę ro_zobowiazania_zaplaty o strukturze:
CREATE TABLE `ro_zobowiazania_zaplata` ( `id` int(10) NOT NULL AUTO_INCREMENT, `id_dokumentu` int(10) NOT NULL, `kwota` double NOT NULL, `data_zaplaty` date NOT NULL, `gdzie` varchar(60) NOT NULL, `data_wprowadzenia` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `podpis` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Mam taki problem:
Najpierw wprowadzam do bazy dokument (tabela ro_zobowiazania) na jakąś tam kwotę, potem za parę dni zapłatę do tego dokumentu, z tym, że może on być spłacany w ratach - np. jutro 100zł, pojutrze 20 zł itd...
Potrzebuję wyświetlić wszystkie dokumenty, które nie zostały zapłacone, czyli takie gdzie kwota_brutto z ro_zobowiazania jest mniejsza od sumy kwota z ro_zobowiazania_zaplata
Próbowałem tak:
$queryp = "SELECT * FROM ro_zobowiazania WHERE kwota_brutto > (SELECT SUM(kwota) FROM ro_zobowiazania_zaplata)"; $resultp = mysql_query($queryp) OR die("Błędne zapytanie");
Lecz nie działa to tak jak ma...
Jaki błąd robię? lub jak lepiej zadać zapytania? jakieś pomysły?