Re: [SQL] Wierd stuff

Поиск
Список
Период
Сортировка
От Mario Jorge Nunes Filipe
Тема Re: [SQL] Wierd stuff
Дата
Msg-id 3847F3ED.98D71567@neptuno.uevora.pt
обсуждение исходный текст
Ответы Re: [SQL] Wierd stuff  (wieck@debis.com (Jan Wieck))
Список pgsql-sql
Mario Jorge Nunes Filipe wrote:
> 
> Hi
> 
> I'm developing a system with a large number of tables.
> 
> One of the tables has (among others) the following fields:
> Table    = aluno
> +----------------------------------+---------------------------------
> |              Field               |              Type
> +----------------------------------+---------------------------------
> | numero_aluno                     | int4
> | freguesia_naturalidade           | int2
> | concelho_naturalidade            | int2
> | nacionalidade                    | int2
> 
> another is like this:
> 
> -- Table    = concelho
> +----------------------------------+---------------------------------
> |              Field               |              Type
> +----------------------------------+---------------------------------
> | codigo                           | int4
> | nome                             | text
> 
> The field "concelho_naturalidade" on the first table has values taken
> from the "codigo" field from the second.
> 
> Now comes the problem:
> 
> When i do :
> sac=> select a.numero_aluno, a.concelho_naturalidade from aluno a where
> a.numero_aluno=13792;
> 
> i get:
> 
> numero_aluno|concelho_naturalidade
> ------------+---------------------
>        13792|                 1006
> (1 row)
> 
> and whith:
> sac=> select * from concelho where codigo=1006;
> 
> i get:
> 
> codigo|nome
> ------+----------------
>   1006|CALDAS DA RAINHA
> (1 row)
> 
> but with:
> sac=> select c.nome from aluno a, concelho c where
> a.concelho_naturalidade=c.codigo and a.numero_aluno=13792;
> 
> i get:
> 
> nome
> ----
> (0 rows)
> 
> If my SQL is worth anything I thought it would reply "Caldas da Rainha".
> What is wrong here?
And now... even wierder (?):

sac=> select a.numero_aluno, a.concelho_naturalidade from aluno a
sac-> where
sac-> a.numero_aluno=15897;
numero_aluno|concelho_naturalidade
------------+---------------------      15897|                    0
(1 row)

sac=> select * from concelho where codigo=0;  
codigo|nome       
------+-----------    0|A Preencher
(1 row)

sac=> select c.nome from aluno a, concelho c where
sac-> a.concelho_naturalidade=c.codigo and a.numero_aluno=15897;
nome       
-----------
A Preencher
(1 row)
this is the expected output... the first one isn't. So does anyone have
a clue on what's going on?
This is not particularly critical has i can change the third query fro
the first two, only it becomes very inneficient.
Thanks
--        Mario Filipe        mjnf@uevora.pt       http://neptuno.sc.uevora.pt/~mjnf


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

Предыдущее
От: Karel Zak - Zakkr
Дата:
Сообщение: Re: Datetime operators (was: Re: [SQL] Another Date question)
Следующее
От: wieck@debis.com (Jan Wieck)
Дата:
Сообщение: Re: [SQL] Wierd stuff