Thread

  1. Wierd stuff

    Mario Jorge Nunes Filipe <mjnf@neptuno.sc.uevora.pt> — 1999-12-03T15:24:18Z

    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?
    
    I'm using POstgresql 6.3.2 (yes i know: I should upgrade)
    
    Thanks
    
    --
            Mario Filipe 
            mjnf@uevora.pt
            http://neptuno.sc.uevora.pt/~mjnf