2017-06-20 62 views
0

我是新來的SQL Server,我想比較一列中的值與另一列中的另一個值。流程是這樣的:爲什麼我總是收到「多部分標識符列無法綁定」?

if value from table1 != value from table 2  
continue 

...但我怎麼才能比較列的值。

如果我這樣做SELECT @variable=COLUMN FROM TABLE and IF @[email protected],它不起作用。

我使用SQL Server 2012的

這裏的查詢:

SELECT @AgentID=AGENTID 
     ,@CreateTime1=CREATEDATE 
FROM AGENT 

SELECT @Agid=AgentNo 
     ,@CreateTime2=[Join Date] 
     ,@AccCount2=AgentID 
FROM LOCALDB_AGENT 

IF @CreateTime1>@CreateTime2 
     BEGIN 
     IF @[email protected] 
      BEGIN 
      INSERT INTO LOCALDB_AGENT (AgentName,AgentID,AgentNo,Email,[Join Date],CreatedDate) 
      SELECT [FIRSTNAME],[AGENTID],[AGENTID],[EMAIL],CREATEDATE,GetDate() AS CreatedDate 
      FROM AGENT 
      WHERE @[email protected] 

      SELECT @AccCount2=COUNT(*) 
      FROM LOCALDB_AGENT 
      WHERE [Status]='ACTIVE' AND CreatedDate=Getdate() 

      SET @msg = 'New Record to DMTM' + ' = ' + @AccCount2 + char(10) 
      PRINT @msg 
      END 
     ELSE 
      BEGIN 
      PRINT 'Data Already Exist' 
      END 
     END 
+0

你能後的查詢? –

+1

和樣本數據太 –

回答

-1

選項1:

IF (SELECT 1) != (SELECT 2) 
BEGIN 
PRINT 'CONTINUE' 
END 

否則,您可以使用variable存儲列的值,然後比較變量。

選項2:

DECLARE @Variable1 INT 
DECLARE @Variable2 INT 

SELECT @Variable1 = 1 
SELECT @Variable2 = 2 

IF @Variable1 != @Variable2 
BEGIN 
PRINT 'CONTINUE' 
END 

更換SELECT Statement與您的查詢

+0

你確實知道他的'SELECT AGENTID,CREATEDATE FROM AGENT'可能會/可能不會取單行。我認爲他希望在他的變數中通過單一的價值。這就是他卡住的地方。 –

+0

是的,我確實看到了......但他的要求是如何比較這些值。這就是爲什麼我說「用您的查詢替換SELECT語句」 – Joby

相關問題