0

2つのテーブルがあります。

**EmployeeInfo**
   EmployeeName varchar(50)
   EmailAddress varchar(100)
   BranchID     int

**BranchInfo**
   BranchID  int
   opMgr     varchar(100)
   BranchMgr varchar(100)

電子メールアドレスをパラメーターとして渡した場合に、branchinfoテーブルのOpMgr列とBranchMgr列をEmployeeInfoの関連するブランチの単一の列に表示するストアドプロシージャが必要です。私は次のように書き込もうとしていますが、マルチパートエラーが発生しているので運がありません。

SELECT  BranchInfo.OpMgr FROM  EmployeesInfo 
UNION
SELECT BranchInfo.BranchMgr FROM EmployeesInfo 
INNER JOIN BranchInfo ON EmployeesInfo.BranchID = BranchInfo.BranchID
WHERE AND EMPLOYEESINFO.EMAILADDRESS='john.d@mydomain.com'
4

4 に答える 4

2

これを試して:

SELECT
    E.EmployeeName,
    E.EmailAddress,
    B.BranchID,
    B.BranchMgr + ' ' + B.opMgr ColName
FROM EmployeesInfo E
    INNER JOIN BranchInfo B
        ON E.BranchID = B.BranchID
WHERE E.EMAILADDRESS='john.d@mydomain.com'
于 2013-02-06T11:07:17.487 に答える
1

あなたはJOINこのよう にすることができます

SELECT b.opMgr + b.BranchMgr as Branch
FROM EmployeeInfo e
JOIN BranchInfo b ON b.BranchID = BranchID
WHERE e.EMAILADDRESS='john.d@mydomain.com'
于 2013-02-06T11:06:31.730 に答える
1

branchinfoテーブルのOpMgr列とBranchMgr列を、EmployeeInfoの関連するブランチの単一の列に表示する必要があります。

DECLARE @opMgr VARCHAR(100), @BranchMgr VARCHAR(100)

SELECT @opMgr  = b.opMgr, @BranchMgr =  b.BranchMgr
FROM EmployeeInfo e
JOIN BranchInfo b ON e.BranchID = b.BranchID
WHERE e.EMAILADDRESS='john.d@mydomain.com'

SELECT details 
FROM ( VALUES (@opMgr),(@BranchMgr)) 
AS t(details) 
于 2013-02-06T11:46:56.353 に答える
0

これを試して、

SELECT BranchInfo.OpMgr, BranchInfo.BranchMgr
  FROM EmployeesInfo
 INNER JOIN BranchInfo ON EmployeesInfo.BranchID = BranchInfo.BranchID
 WHERE AND EMPLOYEESINFO.EMAILADDRESS = 'john.d@mydomain.com'
于 2013-02-06T11:07:32.313 に答える