From: | Mario Jorge Nunes Filipe <mjnf(at)neptuno(dot)sc(dot)uevora(dot)pt> |
---|---|
To: | "pgsql-sql(at)postgreSQL(dot)org" <pgsql-sql(at)postgreSQL(dot)org> |
Subject: | Re: [SQL] Wierd stuff |
Date: | 1999-12-03 16:46:37 |
Message-ID: | 3847F3ED.98D71567@neptuno.uevora.pt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)uevora(dot)pt
http://neptuno.sc.uevora.pt/~mjnf
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Jorge Nunes Filipe | 1999-12-03 17:23:04 | Re: [SQL] Wierd stuff |
Previous Message | Jan Wieck | 1999-12-03 16:33:32 | Re: [SQL] Wierd stuff |