Обсуждение: simple update from select ??

Поиск
Список
Период
Сортировка

simple update from select ??

От
Gary Stainburn
Дата:
Hi folks

I've got a table of pieces of equipment.
One piece of equipment may be owned by another piece of equipment, and 
may own multiple other pieces.

To hold the relationship I have a piece_pieces table holding the owner 
(pp_id) part id and the owned part ids (pp_part).

I'v realised I can store this within the original table so I've added an 
owner attribute.  I need to now populate this now from the other table, 
but I can't work out how.

I've got  pieces table

p_id        -- part id
p_owner    -- new owner attribute

piece_pieces table

pp_id    -- id of owner
pp_part    -- id of owned



-- 
Gary Stainburn
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     



Re: simple update from select ??

От
Gary Stainburn
Дата:
On Monday 07 March 2005 12:28 pm, you wrote:
> Hi folks
>
> I've got a table of pieces of equipment.
> One piece of equipment may be owned by another piece of equipment,
> and may own multiple other pieces.
>
> To hold the relationship I have a piece_pieces table holding the
> owner (pp_id) part id and the owned part ids (pp_part).
>
> I'v realised I can store this within the original table so I've added
> an owner attribute.  I need to now populate this now from the other
> table, but I can't work out how.
>
> I've got  pieces table
>
> p_id        -- part id
> p_owner    -- new owner attribute
>
> piece_pieces table
>
> pp_id    -- id of owner
> pp_part    -- id of owned

For my own future reference as much as anything, here's the required 
statement, which is a syntactically corrected version of a suggestion 
by Sean Davis

update pieces set p_owner=piece_pieces.pp_id from piece_pieces where 
piece_pieces.pp_part=pieces.p_id;

Under Sean's suggestion I did this inside a transaction block so I could 
check that it did what I wanted.
-- 
Gary Stainburn
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000