aliases break my query

Поиск
Список
Период
Сортировка
От Joseph Shraibman
Тема aliases break my query
Дата
Msg-id 392DEB70.86A115E4@selectacast.net
обсуждение исходный текст
Ответы Re: aliases break my query  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
These two queries are exactly alike. The first one uses aliases except
for the order by. The second uses aliases also for the order by. The
third uses whole names.  The third has the behavior I want.

Someone please tell me what I am doing wrong. I don't want to have to
use whole names for my query.

The data for the tables are at the end.


playpen=> select ta.a,ta.b,ta.c, (select count (tb.zz) where tb.yy =
ta.a) from tablea ta, tableb tb order by tablea.a;
a|b|c|?column?
-+-+-+--------
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       1
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       1
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       1
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       1
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       1
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       1
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       1
3|4|5|       0
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       1
4|5|4|       0
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       1
1|2| |       0
2|3|4|       0
3|4|5|       0
4|5|4|       0
(80 rows)

playpen=> select ta.a,ta.b,ta.c, (select count (tb.zz) where tb.yy =
ta.a) from tablea ta, tableb tb order by ta.a;
a|b|c|?column?
-+-+-+--------
1|2| |       0
1|2| |       0
1|2| |       0
1|2| |       0
1|2| |       0
2|3|4|       1
2|3|4|       1
2|3|4|       0
2|3|4|       0
2|3|4|       0
3|4|5|       0
3|4|5|       0
3|4|5|       1
3|4|5|       0
3|4|5|       0
4|5|4|       0
4|5|4|       0
4|5|4|       0
4|5|4|       1
4|5|4|       0
(20 rows)

playpen=> select tablea.a,tablea.b,tablea.c, (select count (tableb.zz)
where tableb.yy = tablea.a) order by tablea.a;
a|b|c|?column?
-+-+-+--------
1|2| |       0
2|3|4|       2
3|4|5|       1
4|5|4|       1
(4 rows)

playpen=> 
playpen=> select * from tablea;
a|b|c
-+-+-
1|2| 
2|3|4
3|4|5
4|5|4
(4 rows)

playpen=> select * from tableb;
yy|zz
--+--2| 42| 53| 94|145|15
(5 rows)


В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Use of index in 7.0 vs 6.5
Следующее
От: Tom Lane
Дата:
Сообщение: Re: aliases break my query