Ok, this is the stored procedure, and the table variable will only ever have one row in it.USE [SCMdb]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[CustomerSearch]@User varchar(20),@NameNumb varchar(20) = NULL,@Address varchar(20) = NULL,@Postcode varchar(20) = NULL,@Client int = NULL,@LandlordID int = NULLASDECLARE @UserType TABLE( LandlordID int, Client int)INSERT INTO @UserType EXEC CurrentUser @User@LandlordID = SELECT LandlordID FROM @UserType@Client = SELECT Client FROM @UserTypeIF (@Client = 0)BeginSET @LandlordID = NULLENDIF (@NameNumb IS NULL) AND (@Address IS NULL) AND (@Postcode IS NULL) BEGIN WAITFOR DELAY '00:00:01' ENDELSE BEGIN SELECT CustomerID, NameNumb, BillingAddress, PostalCode, Owner FROM Customers WHERE (Owner = ISNULL (@LandlordID,Owner)) AND (NameNumb Like ISNULL ('%' + @NameNumb,NameNumb) + '%') AND (BillingAddress Like ISNULL ('%' + @Address,BillingAddress) + '%') AND (PostalCode Like ISNULL ('%' + @Postcode,PostalCode) + '%') ORDER BY BillingAddress, NameNumb ENDand it's this section that I don't know the syntax for@LandlordID = SELECT LandlordID FROM @UserType@Client = SELECT Client FROM @UserType