Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- p_key_no col_name value table
- __________________________________________________________________
- 1 ALTEMAIL abc@gmail.com emp_info
- 1 PASSWORD AA321 emp_info
- 2 ALTEMAIL xyz@gmail.com emp_info
- 2 EMAIL pqr@yahoo.com emp_info
- 2 PASSWORD SB12321 emp_info
- PKEY EMAIL FULLNAME PASSWORD TIME_STAMP ALTEMAIL
- 1 a123@xyz.com xyz1 AA123 2013-04-05 13:24:49.650 aaa@gmail.com
- 2 b123@xyz.com xyz2 BB123 2013-04-05 13:24:49.650 bbb@gmail.com
- 3 c123@xyz.com xyz3 CC123 2013-04-05 13:24:49.650 ccc@gmail.com
- select p_key_no, ALTEMAIL, PASSWORD, EMAIL
- from tracking_table
- pivot
- (
- max(value)
- for col_name in (ALTEMAIL, PASSWORD, EMAIL)
- ) p
- where [table] ='emp_info'
- ;with cte as
- (
- select p_key_no, ALTEMAIL, PASSWORD, EMAIL
- from tracking_table
- pivot
- (
- max(value)
- for col_name in (ALTEMAIL, PASSWORD, EMAIL)
- ) p
- where [table] ='emp_info'
- )
- select e.pkey,
- coalesce(c.email, e.email) email,
- e.fullname,
- coalesce(c.password, e.password) password,
- time_stamp,
- coalesce(c.altemail, e.altemail) altemail
- from emp_info e
- left join cte c
- on e.pkey = c.p_key_no;
- | PKEY | EMAIL | FULLNAME | PASSWORD | TIME_STAMP | ALTEMAIL |
- ------------------------------------------------------------------------------------
- | 1 | a123@xyz.com | xyz1 | AA321 | 2013-04-05 13:24:49 | abc@gmail.com |
- | 2 | pqr@yahoo.com | xyz2 | SB12321 | 2013-04-05 13:24:49 | xyz@gmail.com |
- | 3 | c123@xyz.com | xyz3 | CC123 | 2013-04-05 13:24:49 | ccc@gmail.com |
- select p_key_no,
- max(case when col_name = 'ALTEMAIL' then value end) ALTEMAIL,
- max(case when col_name = 'PASSWORD' then value end) PASSWORD,
- max(case when col_name = 'EMAIL' then value end) EMAIL
- from tracking_table
- where [table] ='emp_info'
- group by p_key_no
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement