2011-06-10 23 views
0

我正在使用SQL Server 2005,并且要过滤包含该字段的一个联盟名称的数据,但我只能使用字段的联盟变量来缩短数据。SQL Server 2005如何使用该字段的联盟名称的文件数据

ex。

Select 
    (Select SName from StkMst Where SrNo = StkSrNo) as StkName 
from 
    CmpMst 
Where 
    StkName like 'MR.' 

如果有人能帮助我.........

+1

欢迎来到Stack Overflow!我会建议你阅读http://tinyurl.com/sohints并尝试改善你的问题。 – 2011-06-10 19:16:55

回答

0

使用这样

Select StkName.SName from (Select SName from StkMst Where SrNo = StkSrNo) StkName where StkName.SName like 'MR.%' 

而且,改写你的问题有点这将有助于了解你是什么正准备实现。

0

基本上,如果表达式是复杂的,你不想重复在WHERE子句中,你应该从选择派生表和筛选器应用到外部查询:

SELECT * 
FROM (
    SELECT 
    SomeColumn1, 
    SomeColumn2, 
    SomeExpression AS SomeAlias 
    FROM SomeTable 
) 
WHERE SomeAlias = SomeValue 

在您的特定示例中,过滤器可能应用于相关查询,如下所示:

SELECT 
    (
    SELECT SName 
    FROM StkMst 
    WHERE SrNo = StkSrNo AND StkName LIKE 'MR.' 
) AS StkName 
FROM CmpMst 
相关问题