"आस-पास" बल्कि अस्पष्ट है।table2
में शामिल होने के लिए जहां timee
dateee
. के 10 सेकंड के अंदर होता है भविष्य में:
SELECT *
FROM table1 t1
LEFT JOIN table2 t2 ON t2.timee BETWEEN t1.dateee
AND t1.dateee + interval '10 sec';
-
LEFT JOIN
table1
. से पंक्तियां रखता है परिणाम में,table2
. में मिलान के बिना भी । -
कई मैच हो सकते हैं, ताकि बेस टेबल से प्रत्येक पंक्ति को विभिन्न संयोजनों में कई बार लौटाया जा सके।
वैकल्पिक
table1
. में प्रत्येक पंक्ति में शामिल होने के लिए अगले उच्च टाइमस्टैम्प के साथ पंक्ति में। बिल्कुल table1
. पर प्रति पंक्ति परिणाम में एक पंक्ति :
SELECT *
FROM table1 t1
LEFT JOIN LATERAL (
SELECT *
FROM table2 t2
WHERE t2.timee >= t1.dateee
ORDER BY t2.timee
LIMIT 1
) ON TRUE;
(timee)
. पर एक इंडेक्स प्रदर्शन के लिए आवश्यक है।