0
テーブルを返すselect文があります。私はテーブルを返すselectステートメントの一部として、テーブル値関数を選択したい。どのようにそれを行う。SQL Serverのselect文の一部としてテーブル値関数を使用する方法
これは、これは私がgrouppathとして
SELECT
dbo.TC_User.JobTitle, dbo.TC_User.UserID,
dbo.GetGroupPath2Clone('465') as grouppath,
dbo.TC_User.LocalID, dbo.TC_User.NokiaID, dbo.TC_User.NameCN,
dbo.TC_User.职阶 as EmployeeGroup,
dbo.TC_User2.LockDateID, dbo.TC_User.StartDate,
dbo.TC_User.EndDate, dbo.TC_User.StartDateN,
dbo.TC_User.聘用前工号, dbo.TC_User.NoCheckFlag,
dbo.GetGroupPath2('465') AS Path
FROM
dbo.TC_User
INNER JOIN
dbo.TC_User2 ON dbo.TC_User.UserID = dbo.TC_User2.UserID
WHERE
(dbo.TC_User.UserID IN (SELECT UserID
FROM dbo.TC_User
WHERE (GroupID IN (SELECT GroupID
FROM dbo.VSGetSubGroupTab(10, 1) AS VSGetSubGroupTab))))
dbo.GetGroupPath2Clone('465')
欲しいものであるテーブル
SELECT
dbo.TC_User.JobTitle, dbo.TC_User.UserID,
dbo.TC_User.LocalID, dbo.TC_User.NokiaID, dbo.TC_User.NameCN,
dbo.TC_User.职阶 as EmployeeGroup,
dbo.TC_User2.LockDateID, dbo.TC_User.StartDate,
dbo.TC_User.EndDate, dbo.TC_User.StartDateN,
dbo.TC_User.聘用前工号, dbo.TC_User.NoCheckFlag,
dbo.GetGroupPath2('465') AS Path
FROM
dbo.TC_User
INNER JOIN
dbo.TC_User2 ON dbo.TC_User.UserID = dbo.TC_User2.UserID
WHERE
(dbo.TC_User.UserID IN (SELECT UserID
FROM dbo.TC_User
WHERE (GroupID IN (SELECT GroupID
FROM dbo.VSGetSubGroupTab(10, 1) AS VSGetSubGroupTab))))
を返す私のセレクトコードで、私は呼びたいテーブル値関数です。どうやってするか?
が見えます。同様に、SELECT/WHERE/ONのFROM/JOIN節とそのカラムで 'dbo.GetGroupPath2Clone( '465')'を使用します。 – Serg
あなたが既に持っている答えの他に、あなたは 'OUTER APPLY'と' CROSS APPLY'を読んでいるかもしれません – Shnugo
@Sergこんにちは、dbo.VSGetSubGroupTab(10、1)はwhere句の中で使われ、存在するか否かを判断する。しかし、fordbo.GetGroupPath2Clone( '465')私はそれによって返された列をメインテーブルに追加したいと思います。どうやってするか?ありがとう –