Subselect in the same column

Asked

Viewed 882 times

0

I am trying to create a subselect in the same column, I have to use a column row to return a new value from the column itself.. follows my sql code

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

In case I’m trying to return the name Nmunidadeorganica that has your idUnidadeOrganica equal to the idsuperior.

2 answers

1

You can do Join in the same table, no problem:

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 make this same select by 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;

1


SELECT u.idUnidadeOrganica, u.NmUnidadeOrganica, u.idUOSuperior, u2.NmUnidadeOrganica 
FROM unidadeorganica AS u 
LEFT JOIN unidadeorganica AS u2 ON u.idUnidadeOrganica = u2.idUOSuperior;

Browser other questions tagged

You are not signed in. Login or sign up in order to post.