Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SUM with GROUP BY

Status
Not open for further replies.

nego78

Programmer
Jun 13, 2004
129
PL
Hi

look at this query
how can i do it right way ?

My broken query:
Code:
SELECT
a.ID
,SUM(IF(h.CenaPromocyjna,h.CenaPromocyjna,SUBSTRING_INDEX(MAX(CONCAT(g.DataZmiany,'|',g.CenaSprzedazy)), '|', -1)) * f.Ilosc)
 FROM sklep_Zamowienia AS a
 LEFT JOIN sklep_ZamowieniaProdukty AS f ON f.IDZamowienia=a.ID
 LEFT JOIN sklep_ProduktyCeny AS g ON g.IDProduktu=f.IDProduktu
 LEFT JOIN sklep_ProduktyPromocje AS h ON (h.IDProduktu=f.IDProduktu AND h.OdKiedy <= a.DataZamowienia AND h.DoKiedy >= a.DataZamowienia)
 GROUP BY a.ID

Tables:
Code:
CREATE TABLE `sklep_Zamowienia` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `DataZamowienia` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`ID`),
  KEY `IX_DataZamowienia` (`DataZamowienia`)
) ENGINE=MyISAM;

CREATE TABLE `sklep_ZamowieniaProdukty` (
  `ID` int(11) unsigned NOT NULL auto_increment,
  `IDZamowienia` int(11) unsigned NOT NULL default '1',
  `IDProduktu` int(11) unsigned NOT NULL default '1',
  `Ilosc` mediumint(9) unsigned NOT NULL default '1',
  PRIMARY KEY  (`ID`),
  KEY `IX_IDProduktu` (`IDProduktu`)
) ENGINE=MyISAM;

CREATE TABLE `sklep_ProduktyCeny` (
  `IDProduktu` int(10) unsigned NOT NULL default '0',
  `DataZmiany` datetime NOT NULL default '0000-00-00 00:00:00',
  `CenaZakupu` float(7,4) unsigned default NULL,
  `CenaSprzedazy` float(7,2) unsigned NOT NULL default '0.00',
  PRIMARY KEY  (`IDProduktu`,`DataZmiany`)
) ENGINE=MyISAM;

CREATE TABLE `sklep_ProduktyPromocje` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `IDProduktu` int(10) unsigned NOT NULL default '1',
  `OdKiedy` date NOT NULL default '0000-00-00',
  `DoKiedy` date NOT NULL default '0000-00-00',
  `CenaPromocyjna` float(8,2) unsigned NOT NULL default '0.00',
  PRIMARY KEY  (`ID`),
  KEY `IX_IDProduktuOdKiedyDoKiedy` (`IDProduktu`,`OdKiedy`,`DoKiedy`)
) ENGINE=MyISAM;



Webdesign
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top