2014-12-19 3 views
-1

Мне нужно начать, извинившись за мое невежество, но я действительно должен быть сетевым парнем здесь. В любом случае ... Я пытаюсь запросить пару таблиц, используя внутренние соединения, чтобы найти, кто был человеком, назначенным для элемента, в определенное время, когда элемент имел изменения.SQL Query - объявить список имен

Я хотел бы попробовать использовать инструкцию 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'); 

Может ли кто-нибудь помочь здесь?

+0

вы не SE T - значение переменной таблицы. Вы INSERT INTO так же, как и любая другая таблица. Ваше второе утверждение отлично работает, если вы добавите длину в столбец «AssignedTo varchar (255)» –

ответ

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 
) 
+0

К сожалению, список имен не отображается в таблице. Это имена людей, которые делают работу. Мы просто отмечаем, кто этот пользователь был во время внесенных изменений. То, что я пытаюсь сделать, это выяснить, кто конкретно сделал определенное действие в определенное время в жизненном цикле предмета. – NetworkGuy