SQL query to insert select from two tables to one table with condition -
i have table a(primarykey, maximum) , b(primarykey, name, value, owner). b's owner refers a's primarykey.
table primarykey maximum 1 11 2 22 table b primarykey name value owner 1 name1 11 1 2 name2 12 1 3 name3 13 1 4 name4 14 1 5 name1 21 2 6 name2 22 2 7 name3 23 2 8 name4 24 2
i need insert data in these 2 tables 1 table c(primarykey,maximum,name1,name2,name3,name4). here value name 'name1' should under name1, value name 'name2' should under name2 , on.. query wrote is:
insert c(primarykey, maximum, name1, name2, name3, name4) (select distinct a.primarykey, a.maximum, (select value b name = 'name1' , owner = a.primarykey), (case when (select value b name = 'name2' , owner = a.primarykey) = 12 0 else 1 end), (select value b name = 'name3' , owner = a.primarykey), (select value b name = 'name4' , owner = a.primarykey) [b] join [a] on b.owner = a.primarykey);
it works fine. still feel there might concise way achieve or efficient ways.. please suggest such queries?
for help:
expected table c:
primarykey maximum name1 name2 name3 name4 1 11 11 12 13 14 2 22 21 22 23 24
Comments
Post a Comment