-2

テーブルSalesRep_Infoの各行には、列ManagerIDがあります。ManagerIDは、営業担当者ごとにManagerIDが保存されている同じテーブルの主キーです。したがって、ManagerのFirstNameを新しい列として取得する必要があります。これがSQLServer2005で宣言して設定することにより、正しい方法であるかどうか疑問に思っています。

前もって感謝します!

declare @RepID int

set @RepID = (Select Manager from SalesRep_Info)

Select *, (Select FirstName from SalesRep_Info where RepID=@RepID) as ManagerFname from SalesRep_Info
4

2 に答える 2

1

参加したい:

SELECT
    a.*,
    b.FirstName AS ManagerFirstName
FROM
    SalesRep_Info a
    LEFT JOIN SalesRep_Info b ON a.ManagerID = b.RepID
于 2012-04-26T19:44:12.663 に答える
0
declare @RepID int //ok

set @RepID = (Select Manager from SalesRep_Info)   // error - it must have 1 value. you should use top 1.

*SalesRep_Infoからトップ1のマネージャーを選択します*

どういう意味Select top 1 Manager from SalesRep_Infoですか?

where条項はどこにありますか?マネージャーは誰にとっても同じですか?

ついに :

Select *, (Select FirstName from SalesRep_Info where RepID=@RepID) as ManagerFname from SalesRep_Info

これもエラーをスローします。2番目の引数も1つの値を返す必要があります。

于 2012-04-26T19:37:31.430 に答える