我有这个问题:
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"具有相同的公开名称.使用相关名称来区分它们.
不确定如何解决 - 任何想法?
我认为你在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)
除非你的意图实际上是自我加入,在这种情况下你需要别名表名(正如其他人提到的那样)