मेरे पास निम्न 2 तालिकाओं हैं:
- सामग्री (आईडी, नाम) < / Li>
- ingredient_prices (id, ingredient_id, price, created_at)
ऐसा है कि एक घटक के पास कई कीमतें हो सकती हैं प्रति घटक नवीनतम प्रविष्टि मूल्य प्राप्त करने का सबसे अच्छा तरीका क्या होगा? मुझे पता है कि उप-चयनों के साथ आसानी से किया जा सकता है, लेकिन मैं जानना चाहता हूं कि ऐसा करने का एक और अधिक कुशल तरीका है।
मैं इसे इस तरह से करता हूं:
चुनें i। *, P1। * सामग्री से मैं ingredient_prices p1 ऑन (i.id = p1.ingredient_id) बाएं बाहरी सहभागी Ingredient_prices p2 चालू (i.id = p2.ingredient_id और p1.created_at & lt; p2.created_at) जहां p2.id शून्य है;
यह एक कीमत (पी 2) की खोज करता है जो कि पी 1 से अधिक हालिया है, और अगर कोई नहीं मिला, तो पी 1 सबसे हाल ही में मूल्य होना चाहिए।
अगर वहां किसी तारीख को एक से अधिक मूल्य की संभावना है, तो आपको डुप्लिकेट को फ़िल्टर करने के लिए एक अन्य शब्द की आवश्यकता है।
Comments
Post a Comment