Weet iemand hoe ik 2 of meer dingen kan selecteren?
Dus in deze:
Als ik bijvoorbeeld ook nog max(price) en id oid wil ophalen?
Luuk zei al met 2 querys, maar volgens mij is dat niet nodig en nogal onhandig (wil misschien wel 5 dingen selecteren where ean = p.ean en name = p.name) en ik zit met nog een probleem.
$sql = "SELECT p.*,( SELECT MIN(price) FROM products WHERE ean = p.ean || name = p.name) AS minPrice FROM `products` AS p WHERE ".$where." GROUP BY p.ean";
Bovenstaande query is super traag, door de || (OR). Als ik alleen ean = p.ean, of name = p.name doe is die super snel. (0.01 sec), deze duurt maarliefst 11 seconden. Is hier niet iets op te verzinnen, met een case oid. Hij doet wel wat die moet doen, maar 11 sec slaat nergens op. Het ligt dus niet aan de name, als ik alleen name zoek is die er ook direct. Een dubbele index op ean & name heeft ook weinig effect. (1sec winst)
3,80 pt voor wie me kan helpen!
Ik heb een nogal irritant probleem, ik kom er zelf ook echt niet uit. Ik heb deze query..
SELECT * , (SELECT MIN( price) AS minPrice from products where ean = ean van dit product, die geselecteerd is bij het *) FROM `products` WHERE ".$where." GROUP BY ean
Dik gedrukt is natuurlijk een voorbeeld, dat moet daar komen.
Uiteraard een vergoeding als je me kan helpen, tot 4 pt.
Thx.
Dus in deze:
SELECT
p.*,
(
SELECT
MIN(price)
FROM
products
WHERE
ean = p.ean
) AS minPrice
FROM
products AS p
WHERE
".$where."
GROUP BY
p.ean Als ik bijvoorbeeld ook nog max(price) en id oid wil ophalen?
Luuk zei al met 2 querys, maar volgens mij is dat niet nodig en nogal onhandig (wil misschien wel 5 dingen selecteren where ean = p.ean en name = p.name) en ik zit met nog een probleem.
$sql = "SELECT p.*,( SELECT MIN(price) FROM products WHERE ean = p.ean || name = p.name) AS minPrice FROM `products` AS p WHERE ".$where." GROUP BY p.ean";
Bovenstaande query is super traag, door de || (OR). Als ik alleen ean = p.ean, of name = p.name doe is die super snel. (0.01 sec), deze duurt maarliefst 11 seconden. Is hier niet iets op te verzinnen, met een case oid. Hij doet wel wat die moet doen, maar 11 sec slaat nergens op. Het ligt dus niet aan de name, als ik alleen name zoek is die er ook direct. Een dubbele index op ean & name heeft ook weinig effect. (1sec winst)
3,80 pt voor wie me kan helpen!
SELECT * , (SELECT MIN( price) AS minPrice from products where ean = ean van dit product, die geselecteerd is bij het *) FROM `products` WHERE ".$where." GROUP BY ean
Dik gedrukt is natuurlijk een voorbeeld, dat moet daar komen.
Uiteraard een vergoeding als je me kan helpen, tot 4 pt.
Thx.


