मेरे पास एक सारणी है जिसमें समय-सारिणी की एक श्रृंखला है, प्रत्येक एक शुरुआत और समाप्ति तिथि से बंधी है। सबसे हालिया (वर्तमान) घटना के लिए, समाप्ति तिथि पूर्ण है। मैं डुप्लिकेटिव पंक्तियों को ध्वस्त करने की कोशिश कर रहा हूं और केवल सबसे पुरानी प्रारंभ तिथि और नवीनतम समाप्ति तिथि दिखाता हूं। तिथि क्षेत्र में न्यूल होने के साथ, उस पंक्ति को नजरअंदाज कर दिया जाता है। मैं एनवीएल() के साथ एक समाप्ति तिथि मान को डमी कर सकता हूं, लेकिन इससे फ्रंट एंड लॉजिक उस मूल्य को खोजने और बदलने के लिए कारण बन जाएगा।ओरेकल एसक्यूएल - अधिकतम मूल्यों के साथ अधिकतम मूल्य
क्या अधिकतम() फ़ंक्शन को उच्च के रूप में उच्च क्रमबद्ध करने के लिए वैसे भी है?
CREATE TABLE CONG_MEMBER_TERM
(
CONG_MEMBER_TERM_ID NUMBER(10) NOT NULL,
CHAMBER_CD VARCHAR2(30 BYTE) NOT NULL,
CONG_MEMBER_ID NUMBER(10) NOT NULL,
STATE_CD CHAR(2 BYTE) NOT NULL,
DISTRICT NUMBER(10),
START_DT TIMESTAMP(6) WITH TIME ZONE,
END_DT TIMESTAMP(6) WITH TIME ZONE
)
इस क्वेरी से काम करता है, लेकिन पंक्ति जहां समाप्ति दिनांक शून्य है चला जाता है।
select CONG_MEMBER_ID,
district,
min(start_dt),
max(end_dt)
from CONG_MEMBER_TERM
where CONG_MEMBER_ID = 1716
group by CONG_MEMBER_ID, district;
इस क्वेरी कि ठीक करता है, लेकिन अब मैं एक "डमी" समाप्ति तिथि मान (9/9/9999) है। कुछ मुझे इसके बजाय कोड कोड नहीं करना होगा।
select CONG_MEMBER_ID,
district,
min(start_dt),
max(nvl(end_dt, to_date('9/9/9999', 'mm/dd/yyyy')))
from CONG_MEMBER_TERM
where CONG_MEMBER_ID = 1716
group by CONG_MEMBER_ID, district;
धन्यवाद।
आप ढेर सारे प्रश्न जहां एक जवाब स्वीकार नहीं किया है, तो आप अपने सवाल में अधिक रुचि मिल जाएगा, तो आप वापस जाएँ और सही उत्तरों चिह्नित कर सकते हैं (है उत्तर के बाईं ओर टिक रूपरेखा का उपयोग कर)। – bendataclear
मुझे स्वीकृति सुविधा के बारे में भी पता नहीं था। वापस जायेंगे और कुछ पुराने उत्तरों को अपडेट करेंगे। – nibeck