2010-04-24 76 views
0

我已經用加入到從下共同的名字兩個表中獲取數據,如joins-如何通過參數的存儲過程來執行連接查詢

SELECT userValidity.UserName, userValidity.ValidFrom,userValidity.ValidUpTo,userValidity.TotalPoints, 
persons.SenderID 
FROM userValidity 
INNER JOIN persons 
ON userValidity.Username=tbl_persons.Username 

但我需要的只是執行這個查詢我在存儲過程中作爲參數傳遞的用戶名..

如何在此連接中傳遞存儲過程中的用戶名。

alter procedure GetNameIDUserInformation 
(
@user varchar(max) 
) 
as 
begin 

SELECT userValidity.UserName, userValidity.ValidFrom,userValidity.ValidUpTo,userValidity.TotalPoints, 
persons.SenderID 
FROM userValidity 
INNER JOIN persons 
ON userValidity.Username=tbl_persons.Username 
end 

在這個SP中,我必須通過用戶參數來獲取單行用戶記錄嗎?

回答

1

如果您只是將WHERE userValidity.Username=user添加到查詢中,會發生什麼情況? :

alter procedure GetNameIDUserInformation (@user varchar(max)) as 
begin 
    SELECT userValidity.UserName, 
    userValidity.ValidFrom,userValidity.ValidUpTo, 
    userValidity.TotalPoints, persons.SenderID 
    FROM userValidity 
    INNER JOIN persons 
    ON userValidity.Username=tbl_persons.Username end 
    WHERE userValidity.Username=user 

如果你避開user一個語法錯誤,請考慮使用不同的名稱,如user在一些RDBMS中保留關鍵字。

+0

亞感謝..它工作得很好。 – Innova 2010-04-24 06:03:06

相關問題