SQL CORRELATION

0 sql t-sql sql-server

我有这个问题:

SELECT COUNT (DISTINCT CUSTOMER_ACCOUNT.ID) AS  NUMBER_OF_ACCOUNTS 
FROM CUSTOMER_ACCOUNT 
INNER JOIN ACCOUNT ON CUSTOMER_ACCOUNT.ACCOUNT_ID=ACCOUNT.ID 
INNER JOIN CUSTOMER_ACCOUNT ON LOAD_ACCOUNT_DETAIL_0.ID = CUSTOMER_ACCOUNT.ID
WHERE Convert(datetime, convert(char(10), [CUSTOMER_ACCOUNT].CREATED_ON, 101)) BETWEEN '2009-01-01' AND '2009-05-1'
  AND CUSTOMER_ACCOUNT.DELETED!='1' 
  AND ACCOUNT.DELETED !='1'and  LOAD_ACCOUNT_DETAIL_0.ACCOUNT_STATUS='1'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

消息1013,级别16,状态1,行1 FROM子句中的对象"CUSTOMER_ACCOUNT"和"CUSTOMER_ACCOUNT"具有相同的公开名称.使用相关名称来区分它们.

不确定如何解决 - 任何想法?

Eri*_*lje 5

我认为你在SQL中犯了一个错误.这一行:

INNER JOIN CUSTOMER_ACCOUNT ON LOAD_ACCOUNT_DETAIL_0.ID = CUSTOMER_ACCOUNT.ID
Run Code Online (Sandbox Code Playgroud)

应该是这个吗?

INNER JOIN LOAD_ACCOUNT_DETAIL_0 ON LOAD_ACCOUNT_DETAIL_0.ID = CUSTOMER_ACCOUNT.ID
Run Code Online (Sandbox Code Playgroud)

除非你的意图实际上是自我加入,在这种情况下你需要别名表名(正如其他人提到的那样)