Hallo Sebastian,
Ich habe in folgendem Join das Problem, dass mir nicht der aktuelle Preis ermittelt wird sondern ein beliebig alter Preis.
ja, genauso wie es Dir die Dokumentation Deines Datenbankmanagementsystems sagt. Meine Glaskugel sagt mir, dass Du MySQL benutzt.
SELECT
lists.owner,
products.*,
MIN(prices.price) AS lowestprice,
prices.price AS currentprice,
prices.crdateFROM
tx_sfpricetracker_lists AS lists,
tx_sfpricetracker_lists_products_mm AS lp,
tx_sfpricetracker_products AS products,
tx_sfpricetracker_products_prices_mm AS pp,
tx_sfpricetracker_prices AS pricesWHERE
products.uid = 4
AND lists.owner = 1
AND lists.uid = lp.uid_local
AND products.uid = lp.uid_foreign
AND products.uid = pp.uid_local
AND prices.uid = pp.uid_foreign
Warum nicht saubere JOIN-Syntax? Du findest unter SELFHTML Aktuell im Bereich Datenbanken zwei Artikel zu diesem Thema.
GROUP BY products.uid
ORDER BY prices.crdate descWas mach ich da falsch, warum wird mir zwar der minimale Preis korrekt ausgegeben,
weil Du den ermittelst.
aber nicht der aktuelle?
weil Du den nirgendwo ermittelst.
Und was kann ich ändern damit es dennoch funktioniert?
Zuerst Deine MySQL-Version angeben. Davon ist abhängig, was Du machen kannst. Wirklich? Ja, wirklich! Hoffentlich hast Du MySQL 4.1 oder neuer.
Recht ausführlich habe ich das in mehreren Beiträgen zu einer ähnlichen Problematik in folgendem Archivthread behandelt.
Freundliche Grüße
Vinzenz