Re: Need some help with crafting a query to do major update
От | Stephan Szabo |
---|---|
Тема | Re: Need some help with crafting a query to do major update |
Дата | |
Msg-id | 20040218190832.H38717@megazone.bigpanda.com обсуждение исходный текст |
Ответ на | Need some help with crafting a query to do major update (Sean Shanny <shannyconsulting@earthlink.net>) |
Список | pgsql-sql |
On Wed, 18 Feb 2004, Sean Shanny wrote: > To all, > > This is part of a data warehouse. Made the mistake of using a natural > key in one of the fact tables. :-( The f_test_pageviews is a simple > testing table while I work this out. The real table has an identical > schema. > > I have built a mapping table, d_user, to allow the replacement of the > text based (32 characters wide) subscriber_key in f_test_pageviews with > an int4 mapping key. I need to replace all of the > f_test_pageviews.subscriber_key values with the d_user.id value putting > it in f_test_pageviews.sub_key column. > > I have tried this sql: > > update f_test_pageviews set sub_key = t2.id from f_test_pageviews t1, > d_user t2 where t1.subscriber_key = t2.user_id; I don't think the above does what you want because I don't think you meant to be joining f_test_pageviews in twice (once as the table to be updated and once as t1) or at least not without limiting which rows you want to update. I think you probably just want: update f_test_pageviews set sub_key=t2.id from d_user t2 wheref_test_pageviews.subscriber_key=t2.user_id;
В списке pgsql-sql по дате отправления: