SQL查询 - 声明名称列表

时间:2014-12-19 14:22:10

标签: sql sql-server-2008-r2 declare

我首先要为此对此无知而道歉,但我真的应该是这里的网络人物。 无论如何... 我尝试使用内部联接查询几个表,以查找在项目发生更改的特定时间分配给项目的人员。

我想尝试使用declare语句来定义名称列表,然后让我查询运行所有其他变量,然后选择何时用户等于我在声明中列出的其中一个用户。

我想也许是一张桌子?这是我到目前为止所做的尝试,带来了灾难性的后果。

DECLARE @RG TABLE ( AssignedTo VARCHAR(20))   
SET @RG = ('FirstName1.LastName1', 'FirstName2.LastName2', 'FirstName3.LastName3');


DECLARE @RG TABLE (AssignedTo VARCHAR);
INSERT INTO @RG VALUES ('FirstName1.LastName1'), ('FirstName2.LastName2'), ('FirstName3.LastName3');

有人可以在这里帮助一个菜鸟吗?

1 个答案:

答案 0 :(得分:0)

如果您尝试从另一个表中存在的某个表中查找某些名称,请尝试以下操作:

SELECT yt.FirstName, yt.LastName
FROM Your_table yt
INNER JOIN Your_other_table yot on (yot.Firstname + ' ' + yot.LastName) = 
    (yt.FirstName + ' ' + yt.LastName)

如果您想要使用变量查找特定名称,请尝试以下操作:

DECLARE
    @FullName VARCHAR(MAX) = 'Your Name'  --This is your variable
SELECT FirstName, LastName
FROM Your_table
WHERE (Firstname + ' ' + LastName) = @FullName

如果您想要使用多个变量查找特定名称,请尝试以下操作:

DECLARE
    @FullName1 VARCHAR(MAX) = 'Your Name'
    @FullName2 VARCHAR(MAX) = 'Yourother Name'
SELECT FirstName, LastName
FROM Your_table
WHERE (Firstname + ' ' + LastName) IN (
    @FullName1,
    @FullName2
)