2012-07-02 8 views
13

से टाइमस्टैम्प में अंतराल जोड़ें मुझे किसी अन्य कॉलम की तुलना करने के लिए टाइमस्टैम्प के साथ एक पूर्णांक कॉलम से आने वाले मिनटों को जोड़ने की आवश्यकता है। PostgreSQL: कॉलम मान

SELECT t1.id_liame, t1.id_table, t1.periodicidade , t3.data_extracao, 
    CASE WHEN(NOW() < (e.data_extracao + INTERVAL t1.periodicidade || ' 
    MINUTES')) 
    THEN 'yes' ELSE 'no' END 
    FROM table1 as t1 LEFT JOIN liame_has_extracao as t2 USING(id_liame) 
    LEFT JOIN extracao as t3 USING(id_extracao) 

l.periodicidade पूर्णांक (मिनट)
मैं अगर data_extracao(timestamp) अधिक से अधिक तो NOW() + l.periodicidade(integer - minutes) है सत्यापित करने की आवश्यकता है:

यहाँ एक उदाहरण है।

मैं यह कैसे कर सकता हूं?

+0

एक तरफ अपनी क्वेरी में गलत उपनाम: 't3' –

उत्तर

22

आप इस तरह आपकी क्वेरी लिख सकते हैं:

SELECT 
    t1.id_liame, 
    t1.id_table, 
    t1.periodicidade, 
    t3.data_extracao, 
    CASE 
     WHEN(NOW() < (t3.data_extracao + (INTERVAL '1 min' * t1.periodicidade))) 
     THEN 'yes' ELSE 'no' 
    END 
FROM table1 AS t1 
LEFT JOIN liame_has_extracao AS t2 USING(id_liame) 
LEFT JOIN extracao AS t3 USING(id_extracao) 

आप देख सकते हैं, तो आप पूर्णांकों के साथ अंतराल गुणा कर सकते हैं तो INTERVAL '1 minute' साथ आप अपने आधार इकाई को परिभाषित करने और अपने वास्तविक समय अंतराल गुणा।

आशा है कि मदद करता है

+0

महान मदद के रूप में e.data_extracao' <-->' extracao! धन्यवाद –