How can i modify this query to make it work ?
In this version it works but it returns bad sum
Structure:
Via-Net - web directory
Code:
SELECT
a.Zamowienia_Id
,DAYOFMONTH(a.Zamowienia_DataZamowienia)
,b.Uzytkownicy_Imie
,b.Uzytkownicy_Nazwisko
,c.SposobZaplaty_Nazwa
,d.RodzajPrzesylki_Nazwa
,a.Zamowienia_DataZamowienia
,a.Zamowienia_DataRealizacji
,IFNULL(a.Zamowienia_UwagiKlienta,'b.d.')
,IFNULL(a.Zamowienia_UwagiNasze,'b.d.')
,a.Zamowienia_StatusRealizacji
,a.Zamowienia_Zaplacono,a.Zamowienia_Prezent
,a.Zamowienia_KosztPrzesylki
,SUM(IF(g.Promocje_Cena,g.Promocje_Cena,f.ProduktyCeny_CenaSprzedazy)*e.ZamowieniaDoProduktow_Ilosc) AS SumaZamowienia
FROM md_sklep_Zamowienia AS a
LEFT JOIN Uzytkownicy AS b ON b.Uzytkownicy_Id=a.Uzytkownicy_Id
LEFT JOIN md_sklep_SposobZaplaty AS c ON c.SposobZaplaty_Id=a.SposobZaplaty_Id
LEFT JOIN md_sklep_RodzajPrzesylki AS d ON d.RodzajPrzesylki_Id=a.RodzajPrzesylki_Id
LEFT JOIN md_sklep_ZamowieniaDoProduktow AS e ON e.Zamowienia_Id=a.Zamowienia_Id
LEFT JOIN (SELECT * FROM md_sklep_ProduktyCeny AS m WHERE ProduktyCeny_DataZmiany=(SELECT MAX(ProduktyCeny_DataZmiany) FROM md_sklep_ProduktyCeny AS n WHERE m.Produkty_Id=n.Produkty_Id AND n.ProduktyCeny_DataZmiany <= a.Zamowienia_DataZamowienia)) AS f ON e.Produkty_Id=f.Produkty_Id
LEFT JOIN md_sklep_Promocje AS g ON (g.Produkty_Id=e.Produkty_Id AND g.Promocje_OdKiedy <= a.Zamowienia_DataZamowienia AND Promocje_DoKiedy >= a.Zamowienia_DataZamowienia)
GROUP BY a.Zamowienia_Id
ORDER BY a.Zamowienia_DataZamowienia DESC
LIMIT 0, 100
In this version it works but it returns bad sum
Code:
SELECT
a.Zamowienia_Id
,DAYOFMONTH(a.Zamowienia_DataZamowienia)
,b.Uzytkownicy_Imie
,b.Uzytkownicy_Nazwisko
,c.SposobZaplaty_Nazwa
,d.RodzajPrzesylki_Nazwa
,a.Zamowienia_DataZamowienia
,a.Zamowienia_DataRealizacji
,IFNULL(a.Zamowienia_UwagiKlienta,'b.d.')
,IFNULL(a.Zamowienia_UwagiNasze,'b.d.')
,a.Zamowienia_StatusRealizacji
,a.Zamowienia_Zaplacono,a.Zamowienia_Prezent
,a.Zamowienia_KosztPrzesylki
,SUM(IF(g.Promocje_Cena,g.Promocje_Cena,f.ProduktyCeny_CenaSprzedazy)*e.ZamowieniaDoProduktow_Ilosc) AS SumaZamowienia
FROM md_sklep_Zamowienia AS a
LEFT JOIN Uzytkownicy AS b ON b.Uzytkownicy_Id=a.Uzytkownicy_Id
LEFT JOIN md_sklep_SposobZaplaty AS c ON c.SposobZaplaty_Id=a.SposobZaplaty_Id
LEFT JOIN md_sklep_RodzajPrzesylki AS d ON d.RodzajPrzesylki_Id=a.RodzajPrzesylki_Id
LEFT JOIN md_sklep_ZamowieniaDoProduktow AS e ON e.Zamowienia_Id=a.Zamowienia_Id
LEFT JOIN (SELECT * FROM md_sklep_ProduktyCeny AS m WHERE ProduktyCeny_DataZmiany=(SELECT MAX(ProduktyCeny_DataZmiany) FROM md_sklep_ProduktyCeny AS n WHERE m.Produkty_Id=n.Produkty_Id)) AS f ON e.Produkty_Id=f.Produkty_Id
LEFT JOIN md_sklep_Promocje AS g ON (g.Produkty_Id=e.Produkty_Id AND g.Promocje_OdKiedy <= a.Zamowienia_DataZamowienia AND Promocje_DoKiedy >= a.Zamowienia_DataZamowienia)
GROUP BY a.Zamowienia_Id
ORDER BY a.Zamowienia_DataZamowienia DESC
LIMIT 0, 100
Structure:
Code:
CREATE TABLE `md_sklep_Zamowienia` (
`Zamowienia_Id` int(10) unsigned NOT NULL auto_increment,
`Uzytkownicy_Id` int(10) unsigned NOT NULL default '0',
`SposobZaplaty_Id` smallint(5) unsigned NOT NULL default '1',
`RodzajPrzesylki_Id` smallint(5) unsigned NOT NULL default '1',
`Zamowienia_DataZamowienia` datetime NOT NULL default '0000-00-00 00:00:00',
`Zamowienia_DataRealizacji` datetime default NULL,
`Zamowienia_UwagiKlienta` text character set utf8,
`Zamowienia_UwagiNasze` text character set utf8,
`Zamowienia_StatusRealizacji` tinyint(3) unsigned NOT NULL default '0',
`Zamowienia_Zaplacono` enum('n','t') collate utf8_polish_ci NOT NULL default 'n',
`AdresyKlientow_Id` int(10) unsigned default NULL,
`Zamowienia_Prezent` enum('n','t') collate utf8_polish_ci NOT NULL default 'n',
`Zamowienia_Dedykacja` text collate utf8_polish_ci,
`Zamowienia_KosztPrzesylki` float(10,2) default NULL,
PRIMARY KEY (`Zamowienia_Id`),
KEY `IX_Uzytkownicy` (`Uzytkownicy_Id`),
KEY `IX_DataZamowienia` (`Zamowienia_DataZamowienia`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
CREATE TABLE `md_sklep_ZamowieniaDoProduktow` (
`Zamowienia_Id` int(10) unsigned NOT NULL default '1',
`Produkty_Id` int(10) unsigned NOT NULL default '1',
`ZamowieniaDoProduktow_Ilosc` mediumint(8) unsigned NOT NULL default '1',
PRIMARY KEY (`Zamowienia_Id`,`Produkty_Id`),
KEY `IX_Produkty` (`Produkty_Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
CREATE TABLE `md_sklep_ProduktyCeny` (
`Produkty_Id` int(10) unsigned NOT NULL default '0',
`ProduktyCeny_DataZmiany` datetime NOT NULL default '0000-00-00 00:00:00',
`ProduktyCeny_CenaZakupu` float(12,4) unsigned default NULL,
`ProduktyCeny_CenaSprzedazy` float(10,2) unsigned NOT NULL default '0.00',
PRIMARY KEY (`Produkty_Id`,`ProduktyCeny_DataZmiany`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
Via-Net - web directory