sql - Conditional INSERT or SELECT like in a CASE statement -


मैं PostgreSQL में एक CASE कथन का उपयोग करके एक सम्मिलित करना चाहता हूं।

यदि मेरे परिणाम सेट की संख्या शून्य के बराबर है, तो मैं एक सम्मिलित करने का प्रयास कर रहा हूं I यदि यह शून्य के बराबर नहीं है, तो मैं उस तालिका पर अधिकतम समय का चयन करना चाहता हूं।

  केस का चयन करें जब (x से गिनती (*) का चयन करें जहां तालिकानाम = ' पी ') & gt; 0 तब (जब से तालिकानाम = 'पी') = 0 तब (एक्स मानों ('पी', '1 9 00-01-01' में सम्मिलित करें (जहां से गणना संख्या (*) से x से MaxDataDate चुनें) )  

शुद्ध एसक्यूएल में इस तरह से अनुवाद किया जा सकता है:

<पूर्व> साथ एसईएल एएस (SELECT maxdatadate FROM x जहां tablename = 'p'), INS (INSERT x (? Column_name1 ?, column_name2?) SELECT 'p' ::? Type1 ?, '1900 -01-01 '::: टाइप 2? कहां मौजूद नहीं है (चयन 1 से पहले इन) और मौजूदा (से चुनें 1 से, जहां से tablename =' p ')) चयन करें;

लापता जानकारी भरें ? स्पॉट के निशान।

मान लें x.tablename अद्वितीय है। अन्यथा, आपका दूसरा SELECT कथन बकवास होगा।

विकल्प एक plpgsql फ़ंक्शन या DO कथन

में एक प्रक्रियात्मक समाधान होगा।

Comments

Popular posts from this blog

import - Python ImportError: No module named wmi -

Editing Python Class in Shell and SQLAlchemy -

c# - MySQL Parameterized Select Query joining tables issue -