> On 3 Aug 2017, at 20:22, k b <k_b0...@yahoo.se> wrote:
> 
> when i create a recursive query and try to add the distances i get a message:
> ERROR:  recursive query "edges" column 3 has type numeric(7,3) in 
> non-recursive term but type numeric overall.

> My exercise is almost identical to the example in the docs:
> WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
>        SELECT g.id, g.link, g.data, 1,
>          ARRAY[g.id],
>          false
>        FROM graph g
>      UNION ALL
>        SELECT g.id, g.link, 
>        sg.data + g.data, -- altered section, data is numeric(7,3)
>        sg.depth + 1,
>          path || g.id,
>          g.id = ANY(path)
>        FROM graph g, search_graph sg
>        WHERE g.id = sg.link AND NOT cycle
> )
> SELECT * FROM search_graph;

I believe the solution is rather simple; just cast(sg.data + g.data to 
numeric(7,3))

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to