PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

dplyr left_join से कम, शर्त से बड़ा

data.table v 1.9.8 से शुरू होने वाले गैर-समतुल्य जोड़ जोड़ता है

library(data.table) #v>=1.9.8
setDT(sdata); setDT(fdata) # converting to data.table in place

fdata[sdata, on = .(fyear >= byear, fyear < eyear), nomatch = 0,
      .(id, x.fyear, byear, eyear, val)]
#    id x.fyear byear eyear val
# 1:  1    1998  1995  2000   1
# 2:  2    1998  1995  2000   1
# 3:  3    1998  1995  2000   1
# 4:  5    1998  1995  2000   1
# 5:  8    1998  1995  2000   1
# 6: 13    1998  1995  2000   1
# 7:  1    1999  1995  2000   1
# 8:  2    1999  1995  2000   1
# 9:  3    1999  1995  2000   1
#10:  5    1999  1995  2000   1
#11:  8    1999  1995  2000   1
#12: 13    1999  1995  2000   1
#13:  1    2000  2000  2005   5
#14:  2    2000  2000  2005   5
#15:  3    2000  2000  2005   5
#16:  5    2000  2000  2005   5
#17:  8    2000  2000  2005   5
#18: 13    2000  2000  2005   5
#19:  1    2001  2000  2005   5
#20:  2    2001  2000  2005   5
#21:  3    2001  2000  2005   5
#22:  5    2001  2000  2005   5
#23:  8    2001  2000  2005   5
#24:  2    2002  2000  2005   5
#25:  3    2002  2000  2005   5
#26:  2    2003  2000  2005   5
#27:  3    2003  2000  2005   5
#    id x.fyear byear eyear val

आप इसे foverlaps . के साथ काम करने के लिए भी प्राप्त कर सकते हैं 1.9.6 में थोड़े और प्रयास के साथ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में दिनांक/समय स्वरूपण के लिए टेम्पलेट पैटर्न और संशोधक

  2. दूरस्थ होस्ट से पोस्टग्रेज़ से कनेक्ट नहीं हो सकता

  3. मैं Java और Postgres enums को अद्यतन के लिए एक साथ कैसे काम करूँ?

  4. मौजूदा PostgreSQL डेटाबेस पर TimescaleDB को कैसे सक्षम करें

  5. पीडीओ के साथ कनेक्ट टाइमआउट सेट करना