-1

ここに、2 行の結果を返すクエリがあります。

SELECT @SlsChannelDiv= a.division,@SlsChannel= a.department
                    FROM dbo.m_SalesCode a left join dbo.m_SalesCode b 
                    ON a.up1_code=b.sales_code left join vwEmployeeAds v 
                    ON a.user_id=v.login
                    WHERE v.login = @SalesLogin

@SlsChannelこのパラメーターを他のクエリに使用したいと思います。

Select * from wo where sales in (@SlsChannel)

しかし、これは常に結果の最初の行を提供します。

XML パスを指定して、最初のクエリを変更できます。

SELECT @SlsChannelDiv= a.division,@SlsChannel= a.department
                        FROM dbo.m_SalesCode a left join dbo.m_SalesCode b 
                        ON a.up1_code=b.sales_code left join vwEmployeeAds v 
                        ON a.user_id=v.login
                        WHERE v.login = @SalesLogin For XML PATH ('')

ただし、次のようなエラーが表示されます。The FOR XML clause is not allowed in a ASSIGNMENT statement.

@SLSChannelパラメータにカンマ区切りの値を作成することはできInますか?

4

1 に答える 1

1
Select * from wo where sales in (SELECT a.department
                FROM dbo.m_SalesCode a left join dbo.m_SalesCode b 
                ON a.up1_code=b.sales_code left join vwEmployeeAds v 
                ON a.user_id=v.login
                WHERE v.login = @SalesLogin)

このように問い合わせてみてはどうでしょうか。:)

于 2014-01-27T02:46:16.847 に答える