sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man kontrollerar ömsesidig förekomst av fält i samma tabell i två kolumner

Skulle något liknande detta fungera för dig:

With ManagerWorkers As
    (
    -- get managers with workers
    Select Managers.WorkerUsername As ManagerUsername, Workers.WorkerUsername
    From tblMyTable As Managers
        Join tblMyTable As Workers
            On Workers.ManagerUsername = Managers.WorkerUsername
    ) 
Select *
From ManagerWorkers
Union All
-- get workers that have a manager in the above list
Select WorkerUsername, ManagerUsername
From tblMyTable
Where Exists(   Select 1
                From ManagerWorkers
                Where ManagerWorkers.ManagerUsername = tblMyTable.ManagerUsername
                )   

REDIGERA :Med tanke på uppdateringen av frågan vad sägs om följande fråga:

Select D1.u_username, U1.Permission, U1.Grade, D1.f_username, U2.Permission, U2.Grade
from tblDynamicUserList As D1
    Join tblDynamicUserList As D2
        On D2.u_username = D1.f_username
            And D2.f_username = D1.u_username
    Join tblUsers As U1
        On U1.u_username = D1.u_username
    Join tblUsers As U2
        On U2.u_username = D2.u_username


  1. underfråga i mysql fall när klausul

  2. Hur matar man ut 7 poster för varje rad, 1 för varje veckodag?

  3. Generera en slumpmässig och unik sträng med 8 tecken med MySQL

  4. Skapa och få åtkomst till OLTP-databaser och tabeller i minnet