Обсуждение: BUG #10060: Distinct SQL results

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

BUG #10060: Distinct SQL results

От
omar.pessoa@gmail.com
Дата:
The following bug has been logged on the website:

Bug reference:      10060
Logged by:          Omar Pessoa
Email address:      omar.pessoa@gmail.com
PostgreSQL version: 9.3.4
Operating system:   Windows 7.
Description:

-- work

select t.unnest, r.id from (select
unnest((string_to_array(seq_road,',')::int[])) from rota_data d where d.num
= 1) as t, ruas r where r.id =  t.unnest

-- dont work
select t.unnest, r.id, r.logradouro from (select
unnest((string_to_array(seq_road,',')::int[])) from rota_data d where d.num
= 1) as t, ruas r where r.id =  t.unnest

-- work
select t.unnest, r.id, r.logradouro from (select
unnest(string_to_array(string_agg(seq_road,','),',')::int[]) from rota_data
d where d.num = 1) as t, ruas r, ruas w where r.id = w.id AND w.id =
t.unnest

Re: BUG #10060: Distinct SQL results

От
David G Johnston
Дата:
omar.pessoa wrote
> The following bug has been logged on the website:
>
> Bug reference:      10060
> Logged by:          Omar Pessoa
> Email address:

> omar.pessoa@

> PostgreSQL version: 9.3.4
> Operating system:   Windows 7.
> Description:
>
> -- work
>
> select t.unnest, r.id from (select
> unnest((string_to_array(seq_road,',')::int[])) from rota_data d where
> d.num
> = 1) as t, ruas r where r.id =  t.unnest
>
> -- dont work
> select t.unnest, r.id, r.logradouro from (select
> unnest((string_to_array(seq_road,',')::int[])) from rota_data d where
> d.num
> = 1) as t, ruas r where r.id =  t.unnest
>
> -- work
> select t.unnest, r.id, r.logradouro from (select
> unnest(string_to_array(string_agg(seq_road,','),',')::int[]) from
> rota_data
> d where d.num = 1) as t, ruas r, ruas w where r.id = w.id AND w.id =
> t.unnest

Given none of these are self-executing you might consider telling us exactly
what you mean by "dont work"...

I also can't imagine it would be too hard to supply a self-executing
example...try something of the form:

WITH rota_data_scalar (val) AS (
VALUES (1),(2),(3)
)
, rota_data AS (
SELECT array_agg(val) FROM rota_data_scalar
)
SELECT ...

Also, given the lack of any DISTINCT or GROUP BY I'm not sure what you are
trying to get at with your subject line.

The actual data you are dealing with may be important but if you can
generate self-executing examples then figuring out if its data or the query
is much easier.

Help us to help you.

David J.




--
View this message in context:
http://postgresql.1045698.n5.nabble.com/BUG-10060-Distinct-SQL-results-tp5800630p5800641.html
Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.