2011-06-10 22 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 
相關問題