एक बार का ऑपरेशन एक सादे UPDATE
. के साथ प्राप्त किया जा सकता है :
UPDATE tbl
SET one_year_survival = (survival OR survival_days >= 365);
मैं सलाह दूंगा कि आपके नाम में ऊंट-केस, व्हाइट-स्पेस और कोष्ठक का प्रयोग न करें। जबकि दोहरे उद्धरणों के बीच अनुमति दी जाती है, यह अक्सर जटिलताओं और भ्रम की ओर ले जाता है। अध्याय पहचानकर्ताओं और कुंजी के बारे में विचार करें मैनुअल में शब्द ।
क्या आप जानते हैं कि आप किसी क्वेरी के परिणाम निर्यात कर सकते हैं CSV के रूप में COPY
के साथ
?
उदाहरण:
COPY (SELECT *, (survival OR survival_days >= 365) AS one_year_survival FROM tbl)
TO '/path/to/file.csv';
इस तरह से शुरू करने के लिए आपको अनावश्यक कॉलम की आवश्यकता नहीं होगी।
टिप्पणी का अतिरिक्त उत्तर
खाली अपडेट से बचने के लिए:
UPDATE tbl
SET "Dead after 1-yr" = (dead AND my_survival_col < 365)
,"Dead after 2-yrs" = (dead AND my_survival_col < 730)
....
WHERE "Dead after 1-yr" IS DISTINCT FROM (dead AND my_survival_col < 365)
OR "Dead after 2-yrs" IS DISTINCT FROM (dead AND my_survival_col < 730)
...
व्यक्तिगत रूप से, मैं ऐसे अनावश्यक कॉलम केवल तभी जोड़ूंगा जब मेरे पास कोई सम्मोहक कारण हो। आम तौर पर मैं नहीं होता। यदि यह प्रदर्शन के बारे में है:क्या आप अभिव्यक्तियों और आंशिक अनुक्रमणिका पर अनुक्रमणिका ?