SubSelect in same column

0

I'm trying to create a subselect in the same column, I have to use a column row to get back a new value from the column itself. follow my sql code

SELECT 'idUnidadeOrganica', 'NmUnidadeOrganica', 'idUOSuperior', 
    (SELECT 'NmUnidadeOrganica' FROM 'unidadeorganica' WHERE  'idUnidadeOrganica' = 'idUOSuperior'), 
    'SgUF' 
FROM 'unidadeorganica';  

In the case I am trying to return the name NmUnityOrganica that has your orgUnican id equal to the upper id.

    
asked by anonymous 08.05.2015 / 17:43

2 answers

0
SELECT u.idUnidadeOrganica, u.NmUnidadeOrganica, u.idUOSuperior, u2.NmUnidadeOrganica 
FROM unidadeorganica AS u 
LEFT JOIN unidadeorganica AS u2 ON u.idUnidadeOrganica = u2.idUOSuperior;
    
08.05.2015 / 18:35
1

You can join in the same table without any problems:

select fil.idUnidadeOrganica as id_filha,
    fil.NmUnidadeOrganica as nm_filha,
    mae.idUnidadeOrganica as id_mae,
    mae.NmUnidadeOrganica as nm_mae
from unidadeorganica fil, unidadeorganica mae
where fil.idUOSuperior = mae.idUnidadeOrganica;

Or you can do this same select using inner join:

select fil.idUnidadeOrganica as id_filha,
    fil.NmUnidadeOrganica as nm_filha,
    mae.idUnidadeOrganica as id_mae,
    mae.NmUnidadeOrganica as nm_mae
from unidadeorganica fil
    join unidadeorganica mae on
        fil.idUOSuperior = mae.idUnidadeOrganica;
    
08.05.2015 / 18:01