Solved

Populate view with misc field info

Posted on 2009-05-14
3
247 Views
Last Modified: 2013-12-24
I have two tables as described below:

Table 1 loan_misc_fields
loan_id
misc_field_id
misc_field_value
misc_dec_value
misc_int_value
misc_dt_value

Table 2 misc_fields
misc_field_id
misc_field_name
misc_field_type

I want to populate a view with the loan_id and then the value (from the appropriate value field) in a field named the misc_field_name for each of the misc fields (there are 512 of them).   So I would end with a view that contained 513 fields.  Can it be done?

Type values are as follows
when misc_field_type = 1 then info will be in either the misc_field_value field or the misc_int_value field (I don't know how that's working, whoever programmed this must have been insane)
when misc_field_type = 3 then info will be in misc_dec_value field
when misc_field_type = 5 then info will be in misc_dt_value field
0
Comment
Question by:vacusysprog
  • 2
3 Comments
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 24391822
Create VIEW vw_YourViewNameGoesHere

As

Select      t1.loan_id,
            CASE t2.misc_field_Type
                  WHEN 1 THEN COALESCE(t2.misc_field_value field, t1.misc_int_value)
                  WHEN 3 THEN t1.misc_dec_value
                  WHEN 5 THEN t1.misc_dt_value
                  WHEN ...

            END
From      Table1 t1
            Inner Join Table2 t2 On t1.misc_field_id = t2.misc_field_id
0
 

Accepted Solution

by:
vacusysprog earned 0 total points
ID: 24519814
I ended up joining the table to itself 512 times.  So, that I would not have to type all of that I used excel to concatenate the infomation using the field number in the alias.  It worked out nicely.

SELECT     t1.loan_id, mf102.misc_field_value AS var_rate_feature,
                                 mf103.misc_field_value AS prepay_penalty,
                                 mf106.misc_field_value AS haz_ins_required
FROM         t1 LEFT OUTER JOIN
                  t2 AS mf102 ON mf102.loan_id = li.loan_id AND mf102.misc_field_id = 102 LEFT OUTER JOIN
                  t2 AS mf103 ON mf103.loan_id = li.loan_id AND mf103.misc_field_id = 103 LEFT OUTER JOIN
                  t2 AS mf106 ON mf106.loan_id = li.loan_id AND mf106.misc_field_id = 106 LEFT OUTER JOIN

       
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 24520060
Welcome to EE.  In future you will find experts here more than prepared to help, if you are prrepared to provide PROMPT feedback.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
The purpose of this video is to demonstrate how to exclude a particular blog category from the main blog page. This is can be used when a category already has its own tab, or you simply want certain types of posts not to show up on the main blog. …
Viewers will learn how the fundamental information of how to create a table.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now