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

तीन कॉलम से मूल्य स्टोर करने में मदद चाहिए

मान लें कि आप तालिका में डेटा सम्मिलित करना चाहते हैं जैसे:

create table allEmailTable  (id number, mail varchar2(100))

यह मानते हुए कि आपके पास पहले से ही आपकी क्वेरी है जो वह परिणाम देती है, आपको इसकी आवश्यकता हो सकती है:

insert into allEmailTable(id, mail)
with yourQuery(ID, client_p_email, client_s_email, customer_mail) as (
  select 703        , 'example@sqldat.com'           ,'example@sqldat.com'   , 'example@sqldat.com' from dual union all                                   
  select 623        , 'example@sqldat.com'         ,'example@sqldat.com'   ,  'example@sqldat.com' from dual union all                                      
  select 965        , 'example@sqldat.com'      ,'example@sqldat.com',  'example@sqldat.com' from dual union all                                        
  select 270        , 'example@sqldat.com'      ,'example@sqldat.com',  'example@sqldat.com' from dual union all                                         
  select 719        , 'example@sqldat.com'        ,'example@sqldat.com'   ,  'example@sqldat.com' from dual
)
select distinct ID, mail
from (
      select id, client_p_email as mail from yourQuery UNION
      select id, client_s_email         from yourQuery UNION
      select id, customer_mail          from yourQuery 
     )

परिणाम:

SQL> select * from allEmailTable;

        ID MAIL
---------- --------------------
       270 example@sqldat.com
       270 example@sqldat.com
       270 example@sqldat.com
       623 example@sqldat.com
       623 example@sqldat.com
       703 example@sqldat.com
       703 example@sqldat.com
       703 example@sqldat.com
       719 example@sqldat.com
       719 example@sqldat.com
       719 example@sqldat.com
       965 example@sqldat.com

12 rows selected.

आपकी क्वेरी होगी:

insert into allEmailTable(id, mail)
with yourQuery(ID, client_p_email, client_s_email, customer_mail) as (
  SELECT DISTINCT 
                    clt.id,
                    clt.client_p_email,
                    clt.client_s_email,
                    cus.customer_mail
  from  client clt,
         customers cus
where clt.id=cus.id
)
select distinct ID, mail
from (
      select id, client_p_email as mail from yourQuery UNION
      select id, client_s_email         from yourQuery UNION
      select id, customer_mail          from yourQuery 
     )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्टेटिक बनाम डायनेमिक sql

  2. Oracle sql MERGE INTO एक सिंगल जहाँ क्लॉज के साथ

  3. डेटा को ऑरैकल से एचडीएफएस में ले जाएं, प्रोसेस करें और एचडीएफएस से टेराडेटा पर जाएं

  4. कैसे करें to_number गैर-संख्यात्मक मानों को अनदेखा करें

  5. दो स्कीमा की तुलना करें और पुराने स्कीमा को नए स्कीमा के नए कॉलम के साथ अपडेट करें