Hoe kan ik deze twee queries combineren (ivm de traagheid?
SELECT p.products_id, p.products_wholesale_price, pd.products_name, p.products_price, l.name, m.manufacturers_name
FROM products p, manufacturers m, products_description pd, languages l
WHERE p.products_id = pd.products_id AND p.products_id = pd.products_id AND l.languages_id = pd.language_id AND m.manufacturers_id = p.manufacturers_id AND pd.language_id = '" . (int)$languages_id . "'
ORDER BY m.manufacturers_name, pd.products_name ASC";
Deze geeft een lijst van alle producten met prijs en naam, gesorteerd op merk
SELECT `qtynew`
FROM `voorraad`
WHERE `product_id` = p.products_id (uit de bovenstaande query)
AND qtynew > '0'
ORDER BY `voorraad_id` desc limit 0,1";
Deze query moet dus de meest recente 'qtynew' pakken die bekend is van een bepaald product_id
De volgende query heb ik in elkaar gezet maar geeft wel resultaten maar pakt niet de meest recente 'qytnew'...
SELECT p.products_id, p.products_wholesale_price, m.manufacturers_name, pd.products_name, p.products_price, v.qtynew
FROM voorraad v, manufacturers m, products p, products_description pd, languages l, voorraad v
WHERE p.products_id = pd.products_id AND v.product_id = p.products_id and p.products_id = pd.products_id and l.languages_id = pd.language_id and m.manufacturers_id = p.manufacturers_id and pd.language_id = '" . (int)$languages_id . "' and v.qtynew > '0'
GROUP BY v.product_id
ORDER BY m.manufacturers_name, pd.products_name, v.voorraad_id ASC";
Ik hoop dat iemand mij verder kan helpen!
Alvast bedankt!
probeer dit eens: mysql_query ("SELECT * FROM 'voorraad' ORDER BY qtynew DESC LIMIT 0,1");
deze pakt de laatste regel qtynew uit tabel voorraad
maar weet niet of je de hele regel moet hebben en hoe je tabel eruit ziet
De twee query's die ik heb vermeld, werken alle twee goed. Maar als ik ze in PHP achter elkaar laat uitvoeren, dan kost dat heel veel tijd... en is er regelmatig een timeout.
Ik zoek nu een manier om die twee query's te combineren tot 1 zodat de DB minder belast wordt.
je kan toch 1 tabel maken met alle info in 1 keer erin
maakt het makkelijker voor jezelf en sneller
5000 rows zeg je??? als je de 5 tabbellen in 1 maakt heb je er 1000 scheelt nogal denk ik zo
Gewijzigd op 31/01/2013 13:13:59 door Joop Slabbekoorn
Maar al deze tabellen zijn wel gerelateerd aan elkaar middels bijvoorbeeld een product_ID of merk_ID.
je kan gewoon meerdere query's uitvoeren achter elkaar.
weet niet hoe je het allemaal op je pagina zet?
maar kun je voor het overzicht niet beter om te beginnen
vars gebruiken?
Gewijzigd op 31/01/2013 13:38:49 door Joop Slabbekoorn
Dan kan je dit doen (ingekort)
Ik ga eens met jouw code aan de slag, want ik neem aan dat die MAX ook werkt met een ID...
Bedankt!
Toevoeging op 31/01/2013 17:12:13:
Ik kwam op het volgende (maar geeft een foutmelding "invalid use of group function)
SELECT MAX(voorraad_id) vID, p.products_id, p.products_wholesale_price, m.manufacturers_name, pd.products_name, p.products_price, v.qtynew
FROM manufacturers m, products p, products_description pd, languages l, voorraad v
WHERE v.voorraad_id = MAX(voorraad_id) AND p.products_id = pd.products_id AND v.product_id = p.products_id and p.products_id = pd.products_id and l.languages_id = pd.language_id and m.manufacturers_id = p.manufacturers_id and pd.language_id = '" . (int)$languages_id . "' and v.qtynew > '0' AND p.products_id = v.product_id AND v.product_id = p.products_id
GROUP BY v.product_id
ORDER BY m.manufacturers_name, pd.products_name, v.voorraad_id ASC