DISTINCT ON
या आपका दोस्त है। यहाँ सही . के साथ एक समाधान है वाक्य रचना:
SELECT a.id, b.updated, b.col1, b.col2
FROM table_a as a
LEFT JOIN (
SELECT DISTINCT ON (table_a_id)
table_a_id, updated, col1, col2
FROM table_b
ORDER BY table_a_id, updated DESC
) b ON a.id = b.table_a_id;
या, पूरी पंक्ति . प्राप्त करने के लिए table_b
. से :
SELECT a.id, b.*
FROM table_a as a
LEFT JOIN (
SELECT DISTINCT ON (table_a_id)
*
FROM table_b
ORDER BY table_a_id, updated DESC
) b ON a.id = b.table_a_id;
इस तकनीक के साथ-साथ इस निकट से संबंधित प्रश्न के तहत वैकल्पिक समाधानों की विस्तृत व्याख्या:
समूह द्वारा प्रत्येक समूह में पहली पंक्ति का चयन करें?