1

この複数選択ステートメントを作成するのに問題があります。

これは、* を選択した場合の例です。reportsto 列では、別の従業員の ID です。この従業員の名と姓をこの列に表示したい

empID   FName  LName ReportsTo
1         te    xxxx     6
6         aaa   asfa     1
5         zzz   xxxx     6
4         ttt   asfa     1




this how i want to display it on my gridview
empID   FName  LName ReportsTo
1         te    xxxx     aaa asfa      
6         aaa   asfa     te xxxx
5         zzz   xxxx     te xxxx
4         ttt   asfa     aaa asfa

よろしくお願いします

4

2 に答える 2

2

でユーザーレポートの名前を取得するには、テーブルを単独で結合する必要があります。以下のクエリはを使用INNER JOINし、値が。のすべてのユーザーを表示しますreportsTo。ただし、どういうわけか列reportsTonull許容であり、すべてのユーザーを表示したい場合は、LEFT JOIN代わりにを使用してください。

SELECT  a.*,
        b.Fname TO_Fname,
        b.LName TO_F_NAME
FROM    emp a
        INNER JOIN emp b
            ON a.reportsTo = b.empID

結合についてさらに知識を深めるには、以下のリンクにアクセスしてください。

2つの列を連結する場合は、

SELECT  a.*,
        b.Fname + ' ' + b.LName Report_TO_Name
FROM    emp a
        INNER JOIN emp b
            ON a.reportsTo = b.empID
于 2013-03-13T01:44:33.593 に答える
0

Null レポートがある場合は、「内部結合」の代わりに「左結合」を使用できます。

C.empID、C.FName、C.LName、T.FName + ' ' + T.LName Report_TO_Name を emp C から選択 左に emp T を結合 (c.reportsTo = T.empID)

于 2013-03-13T08:55:33.633 に答える