MySQL Preisvergleich

Daniel_CB

Aktives Mitglied
Hallo,

Ich versuche einen Preisvergleich zu machen. Nur scheitere ich an einem Query.
Hier mal die Tabelle
CODE
--
-- Tabellenstruktur für Tabelle `tbl_shop_products`
--

CREATE TABLE `tbl_shop_products` (
`PZN` int(7) unsigned zerofill NOT NULL,
`ID_SHOP` smallint(5) unsigned NOT NULL,
`PRICE` decimal(10,2) unsigned NOT NULL,
UNIQUE KEY `PZN` (`PZN`,`ID_SHOP`),
KEY `PRICE` (`PRICE`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Shop Preise';

--
-- Daten für Tabelle `tbl_shop_products`
--

INSERT INTO `tbl_shop_products` (`PZN`, `ID_SHOP`, `PRICE`) VALUES
(1691621, 1, 5.75),
(1797130, 2, 2.99),
(1691621, 2, 5.75),
(1797130, 1, 8.61),
(1691621, 3, 12.99);



ich versuche mit einen Query herauszufinden welcher shop alle Produkte hat und der Gesamtpreis.
Hier mal das Query. Es erscheint mir aber zu komplex um relativ schnell zu laufen.

CODE
SELECT `ID_SHOP`, SUM(`PRICE`) AS PRICE_TOTAL, COUNT(`PZN`) AS COUNT FROM `tbl_shop_products` WHERE `PZN` IN (1797130,1691621)
GROUP BY `ID_SHOP`
HAVING COUNT = 2
ORDER BY `PRICE` ASC



desweiteren würde ich gerne erreichen das noch eventuell die Versandkosten draufgeschlagen werden so wie die müssten dann auch in das ORDER BY mit einbezogen werde. stehe ein wenig auf dem schlauch und komme nicht weiter. hoffe Ihr könnt mir da helfen




 
QUOTE SELECT `ID_SHOP`, SUM(`PRICE`) + SUM(`SHIPPING`) AS PRICE_TOTAL, COUNT(`PZN`) AS COUNT FROM `tbl_shop_products` WHERE `PZN` IN (1797130,1691621)
GROUP BY `ID_SHOP`
HAVING COUNT = 2
ORDER BY `PRICE` + 'SHIPPING' ASC



Ungetestet, daher mit Vorsicht zu geniessen.

Und glaub mir, die Abfrage ist weit davon entfernt zu den Komplexen zu gehören.
biggrin.gif


Wenn du's aber genau wissen willst:
Lass sie in einer Schleife 10.000 Mal ausführen und gib Start- und Endzeitpunkt aus. Dann hast du einen Wert mit dem du abschätzen kannst wie performat das auf deinem System läuft.
 
Zurück
Oben