|
arkiboys
Master Smack Fu Yak Hacker
1433 Posts |
Posted - 2009-11-05 : 09:23:34
|
| The sql below creates the tables and inserts values in question for you.Question:For every record in tblTableMainget the value in each field and check if there is a criteria for that field in tblCriteria, if so then update tblTableMain.TypeNo according to tblCriteria.typeNoI think the sql below makes it clear what I am after. Notice what the update does (It updates TypeNo field based on tblCriteria entries).Thankscreate table #tblTableMain (TableMainID int identity(1, 1) , Field1 varchar(20), Field2 varchar(20), Field3 varchar(20), Field4 varchar(20), TypeNo tinyint)insert into #tblTableMain(Field1, field2, field3, field4)select 'uk', 'field2 value', '10', 'credit'insert into #tblTableMain(Field1, field2, field3, field4)select 'field11 value', 'field22 value', 'field33 value', 'field44 value'insert into #tblTableMain(Field1, field2, field3, field4)select 'us', '12', 'field333 value', 'debit'select * from #tblTableMaindrop table #tblTableMainGOcreate table #tblCriteria(CriteriaID int identity(1, 1), tblTableMainFields varchar(20), operator varchar(20), value varchar(20), TypeNo tinyint)insert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field1', '=', 'uk', 3insert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field3', '<', '15', 3insert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field4', '=', 'credit', 3GOinsert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field1', '=', 'us', 2insert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field2', '>', '5', 2insert into #tblCriteria(tblTableMainFields , operator , value , TypeNo)select 'Field4', '=', 'debit', 2select * from #tblCriteriadrop table #tblCriteriaGO--Result should show...create table #tblTableMain (TableMainID int identity(1, 1) , Field1 varchar(20), Field2 varchar(20), Field3 varchar(20), Field4 varchar(20), TypeNo tinyint)insert into #tblTableMain(Field1, field2, field3, field4, TypeNo)select 'uk', 'field2value', '10', 'credit', 3insert into #tblTableMain(Field1, field2, field3, field4, TypeNo)select 'field11 value', 'field22 value', 'field33 value', 'field44 value', nullinsert into #tblTableMain(Field1, field2, field3, field4, TypeNo)select 'us', '12', 'field333 value', 'debit', 2select * from #tblTableMaindrop table #tblTableMain |
|